web-dev-qa-db-ja.com

Androidフラグメント内のListView

私は、各個人の画像と画像の説明を含むアイテムのリストを作成しようとしています。その後、リストはアプリケーション内のfragmentに配置されます。誰かが私にそれを作成するように案内できますか? ListActivityなしでどうすればそれができるのかよくわかりません。

10
simplified.

Fragmentはサブクラス ListFragment (ListActivityではない)である必要があるようです。 ListFragmentのonCreateView()ListView を返し、データを入力できます。

開発者ガイドからリストを作成する方法の詳細は次のとおりです。 Hello、ListView

43
citizen conn

ListViewをフラグメントで表示するのに役立つコードスニペットを次に示します。

public class MessagesFragment extends ListFragment {

@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container,
        Bundle savedInstanceState) {
    View rootView = inflater.inflate(R.layout.fragment_messages, container,
            false);

    String[] values = new String[] { "Message1", "Message2", "Message3" };
    ArrayAdapter<String> adapter = new ArrayAdapter<String>(getActivity(),
        Android.R.layout.simple_list_item_1, values);
    setListAdapter(adapter);
    return rootView;
}
}

そして、これはxmlがどのように見えるかです:

<ListView
  Android:id="@Android:id/list"
  Android:layout_width="match_parent"
  Android:layout_height="wrap_content" >
</ListView>

IDとして「list」を使用しない場合、またはレイアウトにListViewを含めない場合、アクティビティまたはフラグメントを表示しようとすると、アプリケーションがクラッシュします。

参照: http://www.vogella.com/tutorials/AndroidListView/article.html#listfragments

16
Amna Ali