Java ArrayList在启动时保持崩溃

时间:2017-04-18 13:44:12

标签: java android arrays arraylist listactivity

App崩溃发布时不知道为什么......我在另一个程序上遇到这个问题找不到它,它是导入的ArrayAdapter我进入了Android Boot Camp书,我似乎无法找到问题

公共类MainActivity扩展了ListActivity {

@Override
protected void onCreate(Bundle savedInstanceState) { 
   super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_main);
    String[] character={"Genji","McCree", "Pharah", "Reaper", 
"Soldier 76", "Tracer", "Bastion", "Hanzo", "Junkrat", "Mei", 
"Torbjorn", "Widowmaker", "D. Va", "Reinhardt", "Roadhog", "Winston", 
"Zarya", "Lucio", "Mercy", "Symmetra", "Zambra", "Orisa", "Ana"};
    setListAdapter(new ArrayAdapter<String>(this, 
android.R.layout.simple_list_item_1, character));


}
protected void onListItemClick(ListView l, View v, int position, long id) {
    switch(position){
        case 0:

            break;
        case 1:
            break;
        case 2:
            break;
        case 3:
            break;
        case 4:
            break;
        case 5:
            break;
        case 6:
            break;
        case 7:
            break;
        case 8:
            break;
        case 9:
            break;
        case 10:
            break;
        case 11:
            break;
        case 12:
            break;
        case 13:
            break;
        case 14:
            break;
        case 15:
            break;
        case 16:
            break;
        case 17:
            break;
        case 18:
            break;
        case 19:
            break;
        case 20:
            break;
        case 21:
            break;
        case 22:
             break;
        case 23:
            break;
        case 24:
            break;


    }
}

}

E/AndroidRuntime: FATAL EXCEPTION: main
                  Process: com.example.blakehayes.overwatch, PID: 2557
                  java.lang.RuntimeException: Unable to start activity ComponentInfo{com.example.blakehayes.overwatch/com.example.blakehayes.overwatch.MainActivity}: java.lang.RuntimeException: Your content must have a ListView whose id attribute is 'android.R.id.list'
                      at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2416)
                      at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2476)
                      at android.app.ActivityThread.-wrap11(ActivityThread.java)
                      at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1344)
                      at android.os.Handler.dispatchMessage(Handler.java:102)
                      at android.os.Looper.loop(Looper.java:148)
                      at android.app.ActivityThread.main(ActivityThread.java:5417)
                      at java.lang.reflect.Method.invoke(Native Method)
                      at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:726)
                      at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:616)
                   Caused by: java.lang.RuntimeException: Your content must have a ListView whose id attribute is 'android.R.id.list'
                      at android.app.ListActivity.onContentChanged(ListActivity.java:243)
                      at com.android.internal.policy.PhoneWindow.setContentView(PhoneWindow.java:398)
                      at android.app.Activity.setContentView(Activity.java:2166)
                      at com.example.blakehayes.overwatch.MainActivity.onCreate(MainActivity.java:15)
                      at android.app.Activity.performCreate(Activity.java:6237)
                      at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1107)
                      at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2369)
                      at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2476) 
                      at android.app.ActivityThread.-wrap11(ActivityThread.java) 
                      at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1344) 
                      at android.os.Handler.dispatchMessage(Handler.java:102) 
                      at android.os.Looper.loop(Looper.java:148) 
                      at android.app.ActivityThread.main(ActivityThread.java:5417) 
                      at java.lang.reflect.Method.invoke(Native Method) 
                      at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:726) 
                      at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:616) 
Application terminated.

1 个答案:

答案 0 :(得分:0)

  

引起:java.lang.RuntimeException:您的内容必须有   ListView的id属性是&#39; android.R.id.list&#39;

当您使用ListActvity时,将您的ListView ID重命名为"@android:id/list"

在您的XML中尝试此操作:

<ListView android:id="@android:id/list"
    android:layout_width="fill_parent"
    android:layout_height="fill_parent"/>