2016-10-10 1 views
0

Ich habe eine Aktivität mit Fragment, die ListView enthält, erstellt die App und die Bereitstellung ohne Problem, aber ich bekomme die APP HAT STOPPED Arbeitsmeldung, wenn ich die ListView bevölkern.Leider App nach erfolgreichem Build gestoppt und deploy

Wenn ich die Listview-Popup mit dem Adapter auskommentieren, läuft die App ohne Probleme.

Dies ist der Code:

public class MainActivityFragment extends Fragment { 
    private ArrayAdapter<String> weather_adapter; 

    public MainActivityFragment() { 
    } 

    @Override 
    public View onCreateView(LayoutInflater inflater, ViewGroup container, 
          Bundle savedInstanceState) { 
     View rootView = inflater.inflate(R.layout.fragment_main, container, false); 
     String[] data = { 
       "item1", 
       "item2" 
}; 
     List<String> list = new ArrayList<String>(Arrays.asList(data)); 

     weather_adapter = new ArrayAdapter<String>(
       getActivity(), 
       R.layout.l_list_item, 
       R.id.list_view, 
       list); 

     ListView welist = 
       (ListView)rootView.findViewById(R.id.list_view); 
     wlist.setAdapter(adapter); 

     return rootView; 
    } 
} 

Haben Sie eine Ahnung, wie zu erkennen, was falsch ist, da keine Stacktrace Fehler oder Warnungen zu werfen tut?

+2

Die ID der TextView in R.layout.l_list_item ist R.id.list_view? Ich denke nicht. Überprüfen Sie Ihren neuen ArrayAdapter ... –

+2

Sie erhalten eine Laufzeitausnahme. Es spielt keine Rolle, ob die App erfolgreich erstellt wurde. Es sollte * ein Logcat sein. http://stackoverflow.com/questions/23353173/unidymy-myapp-has-stopped-how-can-i-solve-this –

+0

@EugenPechanec das ist die Lösung dieses Problems, aber ich bin immer noch interessiert an einer Möglichkeit zu bekommen diese Fehler bei der Kompilierzeit. Logcat löst keinerlei Fehler aus. – Timmy

Antwort

1

In Ihrem Array Adapter Initialisierung

weather_adapter = new ArrayAdapter<String>(
      getActivity(), 
      R.layout.l_list_item, 
      R.id.list_view, 
      list); 

dritte Parameter sollte die Textviews id sein

ändern es zu,

weather_adapter = new ArrayAdapter<String>(
      getActivity(), 
      R.layout.l_list_item, 
      R.id.textView, 
      list); 

Sie können (wobei die Stringliste platziert werden) Finde diese ID in deinem R.layout.l_list_item Layout.

Wenn es nicht löst. Geben Sie Ihre XML-Dateien an und protokollieren Sie sie.