Andriod 학습 노트 2: "Your content must have a ListView whose id attribute is'android.R.id.list'문제 해결 방법

1511 단어

문제 설명


activity_main.xml 코드는 다음과 같습니다.
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
   xmlns:tools="http://schemas.android.com/tools"
   android:layout_width="match_parent"
   android:layout_height="match_parent"
   android:orientation="vertical"
   tools:context=".MainActivity">

   <ListView
       android:id="@+id/lvUser"
       android:layout_width="fill_parent"
       android:layout_height="wrap_content"></ListView>

</LinearLayout>

MainActivity.java 부분 코드는 다음과 같습니다.
public class MainActivity extends ListActivity {
   private SimpleCursorAdapter adapter;
   @Override
   protected void onCreate(Bundle savedInstanceState) {
       super.onCreate(savedInstanceState);
       setContentView(R.layout.activity_main);

Application 시작 후 다음 오류 메시지가 표시됩니다.
Your content must have a ListView whose id attribute is 'android.R.id.list

해결책


MainActivity는ListActivity 클래스를 계승하기 때문에 대응하는 레이아웃 파일에 ListView 탭을 추가하고 id를 설정해야 합니다
android:id="@+id/android:list"
  
android:id="@android:id/list"

설정이 성공한 후에 앱을 다시 시작하면 잘못 보고하지 않을 것이다.ListActivity는 연결된 레이아웃에서android를 기반으로 합니다.R.id.list에서 이 컨트롤을 찾으십시오. 이것은 그의 코드의 내부 구현입니다. 이렇게 정의하지 않으면 내부 코드가 이ListView를 찾지 못하면 오류가 발생합니다.

좋은 웹페이지 즐겨찾기