2012-06-09 1 views
1

Я использую учебник Google для написания ListView, и по какой-то причине происходит ошибка. Я уже убедился в том, что создаю разрешение на внешнее хранилище, как я видел в другом посте, но все же что-то происходит.Невозможно создать ListView по какой-то причине?

Основная деятельность:

public class FlashcardsActivity extends ListActivity { 
private ListView mainList; 
private final String[] listOptions = {"Test!","New Set", "Edit Existing"}; 
/** Called when the activity is first created. */ 
public void onCreate(Bundle savedInstanceState) { 
    super.onCreate(savedInstanceState); 
    setContentView(R.layout.main); 
setListAdapter(new ArrayAdapter<String>(this, R.layout.list_row,listOptions)); 

mainList=(ListView)findViewById(R.id.mainList); 
mainList.setTextFilterEnabled(true); 

mainList.setOnItemClickListener(new OnItemClickListener(){ 
    public void onItemClick(AdapterView<?> parent, View view, int position, long id) { 
     Toast.makeText(getApplicationContext(), ((TextView)view).getText(),Toast.LENGTH_SHORT).show(); 
    } 
}); 
} 
} 

LogCat:

06-09 21:29:32.239: D/AndroidRuntime(221): Shutting down VM 
06-09 21:29:32.239: W/dalvikvm(221): threadid=3: thread exiting with uncaught exception (group=0x4001b188) 
06-09 21:29:32.250: E/AndroidRuntime(221): Uncaught handler: thread main exiting due to uncaught exception 
06-09 21:29:32.259: E/AndroidRuntime(221): java.lang.RuntimeException: Unable to start activity ComponentInfo{com.aft.flashcards/com.aft.flashcards.FlashcardsActivity}: java.lang.RuntimeException: Your content must have a ListView whose id attribute is 'android.R.id.list' 
06-09 21:29:32.259: E/AndroidRuntime(221): at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2496) 
06-09 21:29:32.259: E/AndroidRuntime(221): at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2512) 
06-09 21:29:32.259: E/AndroidRuntime(221): at android.app.ActivityThread.access$2200(ActivityThread.java:119) 
06-09 21:29:32.259: E/AndroidRuntime(221): at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1863) 
06-09 21:29:32.259: E/AndroidRuntime(221): at android.os.Handler.dispatchMessage(Handler.java:99) 
06-09 21:29:32.259: E/AndroidRuntime(221): at android.os.Looper.loop(Looper.java:123) 
06-09 21:29:32.259: E/AndroidRuntime(221): at android.app.ActivityThread.main(ActivityThread.java:4363) 
06-09 21:29:32.259: E/AndroidRuntime(221): at java.lang.reflect.Method.invokeNative(Native Method) 
06-09 21:29:32.259: E/AndroidRuntime(221): at java.lang.reflect.Method.invoke(Method.java:521) 
06-09 21:29:32.259: E/AndroidRuntime(221): at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:860) 
06-09 21:29:32.259: E/AndroidRuntime(221): at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:618) 
06-09 21:29:32.259: E/AndroidRuntime(221): at dalvik.system.NativeStart.main(Native Method) 
06-09 21:29:32.259: E/AndroidRuntime(221): Caused by: java.lang.RuntimeException: Your content must have a ListView whose id attribute is 'android.R.id.list' 
06-09 21:29:32.259: E/AndroidRuntime(221): at android.app.ListActivity.onContentChanged(ListActivity.java:236) 
06-09 21:29:32.259: E/AndroidRuntime(221): at com.android.internal.policy.impl.PhoneWindow.setContentView(PhoneWindow.java:201) 
06-09 21:29:32.259: E/AndroidRuntime(221): at android.app.Activity.setContentView(Activity.java:1622) 
06-09 21:29:32.259: E/AndroidRuntime(221): at com.aft.flashcards.FlashcardsActivity.onCreate(FlashcardsActivity.java:19) 
06-09 21:29:32.259: E/AndroidRuntime(221): at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1047) 
06-09 21:29:32.259: E/AndroidRuntime(221): at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2459) 
06-09 21:29:32.259: E/AndroidRuntime(221): ... 11 more 
06-09 21:29:32.290: I/dalvikvm(221): threadid=7: reacting to signal 3 
06-09 21:29:32.290: E/dalvikvm(221): Unable to open stack trace file '/data/anr/traces.txt': Permission denied 

main.xml

<?xml version="1.0" encoding="utf-8"?> 
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" 
android:layout_width="fill_parent" 
android:layout_height="fill_parent" 
android:orientation="vertical" > 

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

</LinearLayout> 

Кто-нибудь знает в чем проблема?

+0

Пользователи StackOverflow *** гораздо более вероятно ***, чтобы ответить на ваш вопрос, если ваш код отформатирован и отступом правильно. Я настоятельно рекомендую вам приложить немного усилий для форматирования/отступов, прежде чем вы опубликуете в следующий раз. :) –

+0

Используйте «4 пробела» вместо отступов. StackOverflow не распознает отступы в вашем ответе. :) –

ответ

1

Журнал ошибок совершенно ясно:

06-09 21: 29: 32,259: E/AndroidRuntime (221): Вызванный: java.lang.RuntimeException: Ваше содержание должно иметь ListView, идентификатор атрибут «android.R.id.list»

Вам нужен ListView с android:id="@android:id/list" в основном макете.

+0

Я изменил идентификатор ListView на список, но по какой-то причине я все равно получаю ту же ошибку. Я разместил XML, чтобы вы могли посмотреть. – aftrumpet

+0

@ user1446713: Не торопитесь и посмотрите, как мой ответ отличается от вашего макета XML. –

+0

Казалось, это сработало. Благодаря! – aftrumpet

Смежные вопросы