正在开发一个应用,我需要在同一个活动上调用多个ListFragments
。它包含主要的父ListFragment
,其中包含10行。
通过点击每一行,我需要在父ListView
旁边打开新的子ListView
,就像这样一样。我的编码是
public class FragmentListArray extends Activity {
static String[] TITLES =
{
"Henry IV (1)",
"Henry V",
"Henry VIII",
"Richard II",
"Richard III",
"Merchant of Venice",
"Othello",
"King Lear"
};
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
// Create the list fragment and add it as our sole content.
if (getFragmentManager().findFragmentById(android.R.id.content) == null) {
ArrayListFragment list = new ArrayListFragment();
getFragmentManager().beginTransaction().add(android.R.id.content, list).commit();
}
}
public static class ArrayListFragment extends ListFragment {
@Override
public void onActivityCreated(Bundle savedInstanceState) {
super.onActivityCreated(savedInstanceState);
setListAdapter(new ArrayAdapter<String>(getActivity(),
android.R.layout.simple_list_item_1, FragmentListArray.TITLES));
}
@Override
public void onListItemClick(ListView l, View v, int position, long id) {
// here i need to achieve my childview click listener..
}
}
}
我不知道如何设置onitem点击监听器。帮助我实现上述目标。提前谢谢。
答案 0 :(得分:0)
您可以使用getActivity()
并将结果转换为您的活动的类,以获取包含片段的Activity的实例。
定义一些将接受项目ID的函数,具体取决于您需要在sectond列表片段中加载数据。应该是这样的:
YourActivity activity = (YourActivity)getActivity();
activity.fillSecondFragment(clickedItemId);
答案 1 :(得分:-1)
你想要实现它的内容与Android开发人员关于片段的例子非常类似,而不是当列表项单击使用你的listfragmnet(实际上是片段)时的正常片段
http://developer.android.com/guide/components/fragments.html