public class JayBitOption extends ListActivity {
 ArrayList<String> SoundList;
 
 protected void onCreate(Bundle savedInstanceState) {
  super.onCreate(savedInstanceState);
  setContentView(R.layout.option);
    
  ArrayAdapter<CharSequence> Adapter;
  Adapter = ArrayAdapter.createFromResource(this, R.array.country, android.R.layout.simple_list_item_1);
  ListView list = (ListView)findViewById(R.id.list);
  list.setAdapter(Adapter); }
 
 public void onListItemClick(ListView list, View vie, int position, long id) {
  String mes;
  mes = "Select Item = " + SoundList.get(position);
  Toast.makeText(JayBitOption.this, mes, Toast.LENGTH_SHORT).show();
 }
}


그냥 Activity 말고 ListActivity 를 사용하여, 클릭을 판단하는걸 구현하고 있습니다.

첫번재 라인에 그냥 Activity를 extends 했다면 정상 코드 이지만
저는 클릭판단 유무를 하기 위해 ListActivity 를 상속받았기 때문에
레이아웃뿌리고 뿌리고~ 하느라, 에러가 납니다.
코드로 리스트를 뿌리면 되겠지만, 개인적으로 왠지 모르게 XML로 처리하고 싶습니다.

책에는 ListActivity 를 extends 하고, 레이아웃을 가져다 쓰려면
레이아웃 XML에 @android:id/list 가 반드시 있어야 된다고 하길래
역시 이렇게 넣었습니다.

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
 android:orientation="vertical"
 android:layout_width="fill_parent"
 android:layout_height="fill_parent"
 android:background="#000000"
 >
 
 <ListView
  android:id="@+id/list"
  android:layout_width="fill_parent"
  android:layout_height="fill_parent"
  />
  
</LinearLayout>


 

아니면, XML 부분이 아니라, 어댑터 부분에서 잘못된걸까요?