0

我正在开发一个应用程序,我需要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 点击监听器。帮助我实现上述目标。提前致谢。

4

2 回答 2

0

您可以使用getActivity()并将结果转换为您的活动的类以获取包含片段的活动的实例。
定义一些将接受项目 id 的函数,具体取决于您需要在第二个列表 Fragment 中加载数据。应该是这样的:

YourActivity activity = (YourActivity)getActivity();
activity.fillSecondFragment(clickedItemId);
于 2013-10-21T11:07:39.933 回答
-1

您要实现的目标与有关片段的 android 开发人员示例非常相似,而不是在单击列表项时使用您的 listfragmnet 的普通片段(实际上是片段)

http://developer.android.com/guide/components/fragments.html

于 2013-10-21T11:09:02.533 回答