1

onItemCickListener を動作させることができません。私がしているのは、インテントを使用してフラグメントを開くことだけです。ここで怪しいことをしている場合はお知らせください。

public class MyListFragment extends ListFragment {

    private ArrayList<String> myList = null;
    private ArrayAdapter<String> myAdapter;

        @Override
        public void onActivityCreated(Bundle savedInstanceState){
            Log.d("Example:", "In Fragement Calss");
            super.onActivityCreated(savedInstanceState);

            Resources myResources = getResources();
            myList = new ArrayList<String>(Arrays.asList(myResources.getStringArray(R.array.myExamArray)));
            myAdapter = new ArrayAdapter<String>(getActivity(),android.R.layout.simple_list_item_1,myList);
            setListAdapter(myAdapter);

            ListView lv = (ListView) getActivity().findViewById(R.id.listView);
            lv.setOnItemClickListener(new OnItemClickListener(){

            @Override
            public void onItemClick(AdapterView<?> parent, View view,
                    int position, long id) {

                Intent myIntent = new Intent(view.getContext(), DetailsFragment.class);

                startActivity(myIntent);
            }

           });

        }

}
4

2 に答える 2

0

このフラグメントの特定のXMLをどこで膨らませているのかわかりません...しかし、間違ったListViewを参照している可能性があります。

とにかく、既存のonListItemClick方法を使用する必要があります。

public class MyListFragment extends ListFragment {

    private ArrayList<String> myList = null;
    private ArrayAdapter<String> myAdapter;

    @Override
    public void onActivityCreated(Bundle savedInstanceState){
        // Remove the OnItemClickListener, but keep everything else
    }

    @Override
    public void onListItemClick (ListView l, View v, int position, long id) {
        Intent myIntent = new Intent(this, DetailsFragment.class);
        startActivity(myIntent);
    }
}
于 2012-12-11T01:20:11.090 に答える