应用程序在搜索时崩溃

时间:2016-03-03 14:57:32

标签: android listview

应用程序崩溃是因为它希望我将android.R.id.list放在内容方法中,这是不可能的,因为它需要布局参考,而不是列表视图参考​​。

编辑: 我需要一个ListView而不是ListActivity。

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);
        }
    }
}

1 个答案:

答案 0 :(得分:0)

直接来自文档

  

ListActivity具有默认布局,该布局由屏幕中央的单个全屏列表组成。但是,如果需要,可以通过在onCreate()中使用setContentView()设置自己的视图布局来自定义屏幕布局。要做到这一点,你自己的视图必须包含一个ID为#34; @android:id / list"的ListView对象。 (或列出代码中的代码)

解决你的陈述

  

这是不可能的

为什么不呢?只需在activity_result.xml中更改ListView即可使用@android:id/list