应用程序崩溃搜索
问题描述:
该应用程序崩溃,因为它希望我把android.R.id.list
放在内容方法中,这是不可能的,因为它需要一个布局引用,而不是一个列表视图引用。应用程序崩溃搜索
public class SearchResultsActivity extends ListActivity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_result);
handleIntent(getIntent());
}
@Override
public void onListItemClick(ListView l,
View v, int position, long id) {
// call detail activity for clicked entry
}
@Override
public void onNewIntent(Intent intent) {
setIntent(intent);
handleIntent(intent);
}
private void handleIntent(Intent intent) {
DatabaseTable db = new DatabaseTable(this);
if (Intent.ACTION_SEARCH.equals(intent.getAction())) {
String query = intent.getStringExtra(SearchManager.QUERY);
Cursor c = db.getWordMatches(query, null);
}
}
}
答
直接从文档
ListActivity拥有一个由在屏幕中心的单一,全屏幕列表的默认布局。但是,如果您愿意,可以通过在onCreate()中使用setContentView()设置您自己的视图布局来自定义屏幕布局。要做到这一点,自己的观点必须包含id为一个ListView对象“@android:ID /列表”(或列表,如果它在代码)
为了解决您的发言
这是不可能的
为什么不呢?只需将您的ListView更改为您的activity_result.xml
即可使用@android:id/list
这是因为您有一个ListActivity ....因此您需要一个带有id:List的ListView .... – Opiatefuchs
'它希望我把android.R.id .list'这发生在使用ListActivities或ListFragments而不是简单的ListViews时 –