2014-02-25 35 views
0

我有这段代码;Android - ListActivity到Activity

private void displayResultList() { 
    TextView tView = new TextView(this); 
    getListView().addHeaderView(tView); 

    setListAdapter(new ArrayAdapter<String>(this, 
      android.R.layout.simple_list_item_1, results)); 
    getListView().setTextFilterEnabled(true); 

} 

使用,我需要

public class MainActivity extends ListActivity { 

但这个当我使用

setContentView(R.layout.main); 

我得到错误(第25行是“的setContentView(R.layout.main);)

02-26 04:47:22.770: E/AndroidRuntime(1031): FATAL EXCEPTION: main 
02-26 04:47:22.770: E/AndroidRuntime(1031): Process: com.example.app.arr, PID: 1031 
02-26 04:47:22.770: E/AndroidRuntime(1031): java.lang.RuntimeException: Unable to start activity ComponentInfo{com.example.app.arr/com.example.app.arr.MainActivity}: java.lang.RuntimeException: Your content must have a ListView whose id attribute is 'android.R.id.list' 
02-26 04:47:22.770: E/AndroidRuntime(1031):  at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2195) 
02-26 04:47:22.770: E/AndroidRuntime(1031):  at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2245) 
02-26 04:47:22.770: E/AndroidRuntime(1031):  at android.app.ActivityThread.access$800(ActivityThread.java:135) 
02-26 04:47:22.770: E/AndroidRuntime(1031):  at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1196) 
02-26 04:47:22.770: E/AndroidRuntime(1031):  at android.os.Handler.dispatchMessage(Handler.java:102) 
02-26 04:47:22.770: E/AndroidRuntime(1031):  at android.os.Looper.loop(Looper.java:136) 
02-26 04:47:22.770: E/AndroidRuntime(1031):  at android.app.ActivityThread.main(ActivityThread.java:5017) 
02-26 04:47:22.770: E/AndroidRuntime(1031):  at java.lang.reflect.Method.invokeNative(Native Method) 
02-26 04:47:22.770: E/AndroidRuntime(1031):  at java.lang.reflect.Method.invoke(Method.java:515) 
02-26 04:47:22.770: E/AndroidRuntime(1031):  at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:779) 
02-26 04:47:22.770: E/AndroidRuntime(1031):  at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:595) 
02-26 04:47:22.770: E/AndroidRuntime(1031):  at dalvik.system.NativeStart.main(Native Method) 
02-26 04:47:22.770: E/AndroidRuntime(1031): Caused by: java.lang.RuntimeException: Your content must have a ListView whose id attribute is 'android.R.id.list' 
02-26 04:47:22.770: E/AndroidRuntime(1031):  at android.app.ListActivity.onContentChanged(ListActivity.java:243) 
02-26 04:47:22.770: E/AndroidRuntime(1031):  at com.android.internal.policy.impl.PhoneWindow.setContentView(PhoneWindow.java:293) 
02-26 04:47:22.770: E/AndroidRuntime(1031):  at android.app.Activity.setContentView(Activity.java:1929) 
02-26 04:47:22.770: E/AndroidRuntime(1031):  at com.example.app.arr.MainActivity.onCreate(MainActivity.java:25) 
02-26 04:47:22.770: E/AndroidRuntime(1031):  at android.app.Activity.performCreate(Activity.java:5231) 
02-26 04:47:22.770: E/AndroidRuntime(1031):  at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1087) 
02-26 04:47:22.770: E/AndroidRuntime(1031):  at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2159) 
02-26 04:47:22.770: E/AndroidRuntime(1031):  ... 11 more 

我的问题是我可以做些什么像“显示ResultList”当我使用‘延伸活动’

回答

0

如果您正在使用ListActivity然后在XML文件中只是改变这对于ListView控件ID

android:id="@android:id/list" 

,并在你的Activity调用此

ListView lv = getListView(); 

如果您正在使用活动然后只需在您的java文件中找到您的ListView的ID

Listview mListView = (ListView) findViewById(R.id.myListView); 

,并设置适配器为

mListView.setAdapter(mAdapter); 
你的意思
+0

它的工作感谢 – Galion

+0

很高兴帮助你! – Piyush

1

制作到ListView参考在布局

Listview mListView = (ListView) findViewById(R.id.myListView); 

然后调用之类的东西

mListView.setAdapter(mAdapter); 
1

问题在下面一行描述。

Your content must have a ListView whose id attribute is 'android.R.id.list' 

由于您使用ListActivityListView视图必须在名称“android.R.id.list”身份证。否则代码很好。

因此,您需要对您的xml文件进行相应更改。

编辑

你可以把下面的代码在你的ListView

编辑II

android:id="@android:id/list" 

尝试致电以下后setContentView()

ListView listview = getListView(); 
+0

和ListView与Android:ID = “@ + ID /列表”? – Galion

+0

@Galion:请参阅最新的答案。 –

+0

它仍然得到错误(logcat更新) – Galion