0
나는 클릭 가능한 새로운 활동으로 listview하고 싶다. onitemclick 프로그램을 추가하면 프로그램이 중지되었습니다. 로그 캣은 말합니다 :조각보기 목록보기
07-13 09 : 09 : 18.873 : E/AndroidRuntime (1790) : java.lang.IllegalStateException : 콘텐츠 뷰가 아닌 onitemclick 목록보기에이 일을하기 전에 아직
를 만들었습니다. 모든 XML 파일을 만들고 매니페스트 파일에 intens를 추가합니다. 문제를 어떻게 해결할 수 있습니까? 모든setListAdapter
및 모든 ListView를 생성 로직
onActivityCreated()
에 이상
public class FragmentThree extends ListFragment {
@Override public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState)
{
setListAdapter(new MyAdapter(getActivity(), android.R.layout.simple_list_item_1, R.id.mech ,getResources().getStringArray(R.array.parts)));
ListView listView = getListView();
listView.setTextFilterEnabled(true);
listView.setOnItemClickListener(new OnItemClickListener() {
public void onItemClick(AdapterView<?> parent, View view,
int position, long id) {
Intent intent = null;
switch(position) {
case 0:
intent = new Intent(getActivity(), FragmentThreeOne.class);
startActivity(intent);
break;
case 1:
intent = new Intent(getActivity(), FragmentThreeTwo.class);
startActivity(intent);
break;
case 2:
intent = new Intent(getActivity(), FragmentThreeThree.class);
startActivity(intent);
break;
case 3:
intent = new Intent(getActivity(), FragmentThreeFour.class);
startActivity(intent);
break;
case 4:
intent = new Intent(getActivity(), FragmentThreeFive.class);
startActivity(intent);
break;
case 5:
intent = new Intent(getActivity(), FragmentThreeSix.class);
startActivity(intent);
break;
case 6:
intent = new Intent(getActivity(), FragmentThreeSeven.class);
startActivity(intent);
break;
case 7:
intent = new Intent(getActivity(), FragmentThreeEight.class);
startActivity(intent);
break;
case 8:
intent = new Intent(getActivity(), FragmentThreeNine.class);
startActivity(intent);
break;
case 9:
intent = new Intent(getActivity(), FragmentThreeTen.class);
startActivity(intent);
break;
case 10:
intent = new Intent(getActivity(), FragmentThreeEleven.class);
startActivity(intent);
break;
default:
}
}
});
View rootView = inflater .inflate(R.layout.fragment_three, container, false);
return rootView;
}
private class MyAdapter extends ArrayAdapter<String> {
public MyAdapter(Context context, int resource,
int textViewResourceId, String[] strings) {
super(context, resource, textViewResourceId, strings);
// TODO Auto-generated constructor stub
}
@Override
public View getView(int position, View convertView, ViewGroup parent) {
// TODO Auto-generated method stub
LayoutInflater inflater =(LayoutInflater)getActivity().getSystemService(Context.LAYOUT_INFLATER_SERVICE);
View row = inflater.inflate(R.layout.list_item_one, parent, false);
String[] items = getResources().getStringArray(R.array.parts);
ImageView iv = (ImageView) row.findViewById(R.id.mechres);
TextView tv = (TextView) row.findViewById(R.id.mech);
tv.setText(items[position]);
if(items[position].equals("itemone")){
iv.setImageResource(R.drawable.one);
}
else if (items[position].equals("itemtwo")){
iv.setImageResource(R.drawable.twp);
}
else if (items[position].equals("itemthree")){
iv.setImageResource(R.drawable.three);
}
else if (items[position].equals("itemfour")){
iv.setImageResource(R.drawable.four);
}
else if (items[position].equals("itemfive")){
iv.setImageResource(R.drawable.five);
}
else if (items[position].equals("itemsix")){
iv.setImageResource(R.drawable.six);
}
else if (items[position].equals("itemseven")){
iv.setImageResource(R.drawable.seven);
}
else if (items[position].equals("itemeight")){
iv.setImageResource(R.drawable.eight);
}
else if (items[position].equals("itemnine")){
iv.setImageResource(R.drawable.nine);
}
else if (items[position].equals("itemten")){
iv.setImageResource(R.drawable.ten);
}
else if (items[position].equals("itemeleven")){
iv.setImageResource(R.drawable.eleven);
}
return row;
}
}
}
setlistadapter 및 listview 논리를 이동 한 후 동일한 logcat 오류가 발생했습니다. – user3739997
변경 사항을 반영하여 게시 된 코드를 업데이트 할 수 있습니까? –
죄송합니다. 실수로 당신의 의견을 잘못 읽었습니다. 두 번째로 나는 그것을 읽었습니다. onActivityCreated()를 만들고 당신이 말하는 모든 것을 이동하십시오. 문제 해결됨. 감사! – user3739997