을 사용하여 버튼을 누르면 목록보기를 만드는 방법 탐색 서랍이 있습니다. 서랍에서 항목을 클릭하면 텍스트보기가 표시됩니다. 나는 조각을 사용하여 이것을한다. 이 지점까지 잘 작동합니다. 이제 탐색 서랍에서 두 번째 항목을 클릭하면 목록을 표시하려고합니다. 하지만 그것은 응용 프로그램을 계속 충돌합니다. 목록은 사용자 정의 어댑터로 사용자 정의되며 목록 조각을 사용하여 작성됩니다. MainActivity.java에내 응용 프로그램에서 단편
private class DrawerItemClickListener implements ListView.OnItemClickListener
{
@Override
public void onItemClick(AdapterView<?> parent, View view, int position, long id)
{
selectItem(position);
selectItem 방법
private void selectItem(int position)
{
int pos = position;
Fragment fragment = null;
switch (pos) {
case 0:
fragment = new FragmentSell();
break;
case 1:
fragment = new FragmentBuy();
break;
}
FragmentManager fragmentManager = getFragmentManager();
fragmentManager.beginTransaction().replace(R.id.content_frame, fragment).commit();
어댑터
public class FragmentBuyAdapter extends ArrayAdapter<ItemBuy> {
private ArrayList<ItemBuy> objects;
public ArrayAdapter<Integer> adapter_weight;
public String weight;
public Context context;
public FragmentBuyAdapter(Context context, int textViewResourceId,
ArrayList<ItemBuy> objects) {
super(context, textViewResourceId, objects);
this.objects = objects;
this.context = context;
}
public View getView(int position, View convertView, ViewGroup parent) {
View v = convertView;
if (v == null) {
LayoutInflater inflater = (LayoutInflater) getContext()
.getSystemService(Context.LAYOUT_INFLATER_SERVICE);
v = inflater.inflate(R.layout.fragment_buy_list_item, null);
}
ItemBuy i = objects.get(position);
if (i != null) {
TextView name = (TextView) v.findViewById(R.id.tv_shop_name);
TextView desc = (TextView) v.findViewById(R.id.tv_shop_description);
if (name != null) {
name.setText(i.getName());
}
if (desc != null) {
desc.setText(i.getDesc());
}
}
return v;
}
}
로그 cat-
10-15 11:37:05.860: W/dalvikvm(973): threadid=1: thread exiting with uncaught exception group=0xb4aebb90)
10-15 11:37:05.890: E/AndroidRuntime(973): FATAL EXCEPTION: main
10-15 11:37:05.890: E/AndroidRuntime(973): Process: com.coach.zudash, PID: 973
10-15 11:37:05.890: E/AndroidRuntime(973): java.lang.RuntimeException: Content has view with id attribute 'android.R.id.list' that is not a ListView class
10-15 11:37:05.890: E/AndroidRuntime(973): at android.app.ListFragment.ensureList(ListFragment.java:402)
10-15 11:37:05.890: E/AndroidRuntime(973): at android.app.ListFragment.onViewCreated(ListFragment.java:203)
10-15 11:37:05.890: E/AndroidRuntime(973): at android.app.FragmentManagerImpl.moveToState(FragmentManager.java:904)
10-15 11:37:05.890: E/AndroidRuntime(973): at android.app.FragmentManagerImpl.moveToState(FragmentManager.java:1062)
10-15 11:37:05.890: E/AndroidRuntime(973): at android.app.BackStackRecord.run(BackStackRecord.java:684)
10-15 11:37:05.890: E/AndroidRuntime(973): at android.app.FragmentManagerImpl.execPendingActions(FragmentManager.java:1447)
10-15 11:37:05.890: E/AndroidRuntime(973): at android.app.FragmentManagerImpl$1.run(FragmentManager.java:443)
10-15 11:37:05.890: E/AndroidRuntime(973): at android.os.Handler.handleCallback(Handler.java:733)
10-15 11:37:05.890: E/AndroidRuntime(973): at android.os.Handler.dispatchMessage(Handler.java:95)
10-15 11:37:05.890: E/AndroidRuntime(973): at android.os.Looper.loop(Looper.java:137)
10-15 11:37:05.890: E/AndroidRuntime(973): at android.app.ActivityThread.main(ActivityThread.java:4998)
10-15 11:37:05.890: E/AndroidRuntime(973): at java.lang.reflect.Method.invokeNative(Native Method)
10-15 11:37:05.890: E/AndroidRuntime(973): at java.lang.reflect.Method.invoke(Method.java:515)
10-15 11:37:05.890: E/AndroidRuntime(973): at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:777)
10-15 11:37:05.890: E/AndroidRuntime(973): at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:593)
10-15 11:37:05.890: E/AndroidRuntime(973): at dalvik.system.NativeStart.main(Native Method)
오류 로그를 제공해주십시오. –
logcat을 추가했습니다 – shikhin92
'FragmentBuy' 코드와 레이아웃을 게시 할 수 있습니까? –