0
이유를 알아 내려고하고 있지만 확실하지 않습니다. 나는 보았다 보았다. 나는 내가 생각했던 모든 것을 타이핑했다는 것이 긍정적이다. 아래 코드를 게시 할 것입니다.내 ListView 내 어댑터 내게이 오류 줄 : UnsupportedOperationException : addView (View, LayoutParams) AdapterView에서 지원되지 않습니다.
어댑터 클래스 :
public class MyAgendaAdapter extends BaseAdapter {
ArrayList<Agenda> agendas = new ArrayList<Agenda>();
public MyAgendaAdapter() {
agendas.add(new Agenda());
}
@Override
public int getCount() {
return agendas.size();
}
@Override
public Object getItem(int position) {
return agendas.get(position);
}
@Override
public long getItemId(int position) {
return position;
}
@Override
public View getView(int position, View convertView, ViewGroup parent) {
if(convertView == null) {
LayoutInflater inflater = LayoutInflater.from(parent.getContext());
convertView = inflater.inflate(R.layout.agenda, parent, false);
}
Agenda agenda = agendas.get(position); //get the agenda from the ArrayList
TextView nameTextView = (TextView) convertView.findViewById(R.id.agenda_name);
nameTextView.setText(agenda.getEvent());
TextView timeTextView = (TextView) convertView.findViewById(R.id.agenda_time);
timeTextView.setText(agenda.getTime());
TextView locationTextView = (TextView) convertView.findViewById(R.id.agenda_location);
locationTextView.setText(agenda.getLocation());
return convertView;
}
}
주요 활동 클래스 :
public class MainDisplayActivity extends Activity {
MyAgendaAdapter agendaAdapter;
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
ListView list = (ListView) findViewById(R.id.agenda_list);
agendaAdapter = new MyAgendaAdapter();
list.setAdapter(agendaAdapter);
}
}
나는 수입을 생략. 내 레이아웃과 ID가 맞다고 가정하면 누구나 그 문제가 무엇인지 알 수 있습니까?
편집합니다 (로그 캣상의 오류) :
05-27 17:29:54.839: W/dalvikvm(1065): threadid=1: thread exiting with uncaught exception(group=0x409c01f8)
05-27 17:29:54.860: E/AndroidRuntime(1065): FATAL EXCEPTION: main
05-27 17:29:54.860: E/AndroidRuntime(1065): java.lang.RuntimeException: Unable to start activity ComponentInfo{com.zeroe/com.zeroe.MainDisplayActivity}: java.lang.UnsupportedOperationException: addView(View, LayoutParams) is not supported in AdapterView
05-27 17:29:54.860: E/AndroidRuntime(1065): at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:1956)
05-27 17:29:54.860: E/AndroidRuntime(1065): at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:1981)
05-27 17:29:54.860: E/AndroidRuntime(1065): at android.app.ActivityThread.access$600(ActivityThread.java:123)
05-27 17:29:54.860: E/AndroidRuntime(1065): at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1147)
05-27 17:29:54.860: E/AndroidRuntime(1065): at android.os.Handler.dispatchMessage(Handler.java:99)
05-27 17:29:54.860: E/AndroidRuntime(1065): at android.os.Looper.loop(Looper.java:137)
05-27 17:29:54.860: E/AndroidRuntime(1065): at android.app.ActivityThread.main(ActivityThread.java:4424)
05-27 17:29:54.860: E/AndroidRuntime(1065): at java.lang.reflect.Method.invokeNative(Native Method)
05-27 17:29:54.860: E/AndroidRuntime(1065): at java.lang.reflect.Method.invoke(Method.java:511)
05-27 17:29:54.860: E/AndroidRuntime(1065): at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:784)
05-27 17:29:54.860: E/AndroidRuntime(1065): at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:551)
05-27 17:29:54.860: E/AndroidRuntime(1065): at dalvik.system.NativeStart.main(Native Method)
05-27 17:29:54.860: E/AndroidRuntime(1065): Caused by: java.lang.UnsupportedOperationException: addView(View, LayoutParams) is not supported in AdapterView
05-27 17:29:54.860: E/AndroidRuntime(1065): at android.widget.AdapterView.addView(AdapterView.java:471)
05-27 17:29:54.860: E/AndroidRuntime(1065): at android.view.LayoutInflater.rInflate(LayoutInflater.java:743)
05-27 17:29:54.860: E/AndroidRuntime(1065): at android.view.LayoutInflater.rInflate(LayoutInflater.java:742)
05-27 17:29:54.860: E/AndroidRuntime(1065): at android.view.LayoutInflater.rInflate(LayoutInflater.java:742)
05-27 17:29:54.860: E/AndroidRuntime(1065): at android.view.LayoutInflater.inflate(LayoutInflater.java:489)
05-27 17:29:54.860: E/AndroidRuntime(1065): at android.view.LayoutInflater.inflate(LayoutInflater.java:396)
05-27 17:29:54.860: E/AndroidRuntime(1065): at android.view.LayoutInflater.inflate(LayoutInflater.java:352)
05-27 17:29:54.860: E/AndroidRuntime(1065): at com.android.internal.policy.impl.PhoneWindow.setContentView(PhoneWindow.java:251)
05-27 17:29:54.860: E/AndroidRuntime(1065): at android.app.Activity.setContentView(Activity.java:1835)
05-27 17:29:54.860: E/AndroidRuntime(1065): at com.zeroe.MainDisplayActivity.onCreate(MainDisplayActivity.java:21)
05-27 17:29:54.860: E/AndroidRuntime(1065): at android.app.Activity.performCreate(Activity.java:4465)
05-27 17:29:54.860: E/AndroidRuntime(1065): at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1049)
05-27 17:29:54.860: E/AndroidRuntime(1065): at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:1920)
05-27 17:29:54.860: E/AndroidRuntime(1065): ... 11 more
convertView = inflater.inflate (R.layout.agenda, NULL); 이것은 올바른 작업 방법이 아니며 팽창시 항상 컨테이너/부모가 있어야합니다. 이렇게하면 예외가 해결됩니다. inflater.inflate (R.layout.lay, container, false)를 사용해야합니다. – Tobrun