Frage

Ich habe eine Listfragment, die eine Liste enthält. Ich verwende nicht getListView (), was ich vermute, das Problem ist. Ich ziehe meine Listenansicht aus dem XML als solches ab:

    list = (ListView) getActivity().findViewById(android.R.id.list);

Und dann den Adapter wie diesen festlegen:

    list.setAdapter(new CustomAdapter(getActivity(), R.layout.title, mCursor, new String[]{"title"},  new int[]{R.id.my_title}) );

Da ich den Adapter auf der Liste festlegen muss, verwende ich auch SetListAdapter () nicht. Ist es nicht möglich, die Liste aus dem XML zu ziehen und onlistemclick zu verwenden? Ich möchte meine Listenansicht im XML behalten, damit ich nicht alle Eigenschaften programmgesteuert festlegen muss.

Wenn dies nicht möglich ist, wie kann ich dann Elemente in meiner Liste auswählen?

Vielen Dank

War es hilfreich?

Lösung

OK. Versuchen Sie diese Antwort. Halten Sie Ihre Layoutdatei so wie sie sind. Überschreiben Sie die folgende Methode in Ihrer Fragmentlist -Klasse:

    @Override
public View onCreateView(LayoutInflater inflater, ViewGroup container,
        Bundle savedInstanceState)
{
    return inflater.inflate(R.layout.your_fragment_layout, container, false);
}

Stellen Sie sicher, dass Ihr Layout eine Liste mit der richtigen ID definiert, wie folgt:

 <ListView android:id="@id/android:list"
           android:layout_width="match_parent"
           android:layout_height="match_parent"
           android:layout_weight="1"
           android:drawSelectorOnTop="false"/>

Rufen Sie dann einfach Fragmentlist :: setListAdapter an:

setListAdapter(new CustomAdapter(getActivity(), R.layout.title, mCursor, new String[]{"title"},  new int[]{R.id.my_title}) );

Sollte funktionieren, ticky-boo.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top