Android错误,我可以';我不明白。有人能帮我吗?

Android错误,我可以';我不明白。有人能帮我吗?,android,sdk,runtime-error,searchview,Android,Sdk,Runtime Error,Searchview,我已经建立了一个sql数据库,并实现了searchview小部件,以便能够在android pre API 11中使用 当我尝试进行研究时,应用程序会自动关闭,我会收到以下错误和其他消息: 错误 我不知道我的代码是否有问题。 有人能帮我吗? 多谢各位 我认为错误就在这里 import android.app.ListActivity; import android.app.SearchManager; import android.content.Context; import android.

我已经建立了一个sql数据库,并实现了searchview小部件,以便能够在android pre API 11中使用

当我尝试进行研究时,应用程序会自动关闭,我会收到以下错误和其他消息:

错误

我不知道我的代码是否有问题。 有人能帮我吗? 多谢各位

我认为错误就在这里

import android.app.ListActivity;
import android.app.SearchManager;
import android.content.Context;
import android.content.Intent;
import android.database.Cursor;
import android.os.Bundle;
import android.widget.ListView;



public class SearchableActivity extends ListActivity{
DatabaseTable db = new DatabaseTable(this);
final Context context=this;
ListView list;

    @Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.search);
        list=(ListView)findViewById(android.R.id.list);
        handleIntent(getIntent());

    }

    @Override
    protected void onNewIntent(Intent intent) {
        super.onNewIntent(intent);
        handleIntent(getIntent());
    }


    private void handleIntent(Intent intent) {
    if (Intent.ACTION_SEARCH.equals(intent.getAction())) {
        String query = intent.getStringExtra(SearchManager.QUERY);
        Cursor c = db.getWordMatches(query, null);
        c.moveToFirst();    
        }
    }
}
我曾尝试导入android.support.v7.widget.Searchview,但它说从未使用过,错误也没有消失。对于这个项目,我创建了MainActivity.Java,其中包含SearchWidget、DatabaseTable.Java和definitions.txt,其中包含数据、一个Search.xml和一个SearchActivity.Java(下面的代码),我还将meta标记放在MainActivity和SearchActivity的清单中,不知道是否可以在这里插入每一页的代码…我真的不知道该怎么做了

当然,这是我主要活动的代码

    import android.os.Bundle;
    import android.app.SearchManager;
    import android.content.Context;
    import android.content.Intent;
    import android.support.v7.widget.SearchView;
    import android.support.v4.view.MenuItemCompat;
    import android.support.v7.app.ActionBar;
    import android.support.v7.app.ActionBarActivity;
    import android.view.Menu;
    import android.view.MenuItem;
    import android.view.View;
    import android.view.View.OnClickListener;
    import android.widget.Button;

    public class MainActivity extends ActionBarActivity implements OnClickListener{




    ActionBar actionBar;
    Button a;
    Button b;
    Button c;
    Button d;
    Button e;

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);

        actionBar = getSupportActionBar();
        actionBar.setTitle("Trial");

        initialiseOnClick();
        a.setOnClickListener(this);
        b.setOnClickListener(this);
        c.setOnClickListener(this);
        d.setOnClickListener(this);
        e.setOnClickListener(this);
    }

        //START SEARCHVIEWWIDGET
    @Override
    public boolean onCreateOptionsMenu(Menu menu) {
        getMenuInflater().inflate(R.menu.main, menu);
        MenuItem searchItem = menu.findItem(R.id.action_search);

        SearchManager searchManager = (SearchManager)     getSystemService(Context.SEARCH_SERVICE);

        SearchView searchView = (SearchView)     MenuItemCompat.getActionView(searchItem);
    // Configure the search info and add any event listeners
       searchView.setSearchableInfo(searchManager.getSearchableInfo(getComponentName()));
        searchView.setIconifiedByDefault(true); 
        return super.onCreateOptionsMenu(menu);



    }

    @Override
    public boolean onOptionsItemSelected(MenuItem item) {
        switch (item.getItemId()) {
            case R.id.action_search:
                onSearchRequested();
                return true;
            default:
                return false;
        }
    }

    // END SEARCHVIEWWIDGET

    private void initialiseOnClick() {
        // TODO Auto-generated method stub
        a = (Button) findViewById (R.id.button_a);
        b = (Button) findViewById (R.id.button_b);
        c = (Button) findViewById (R.id.button_c);
        d = (Button) findViewById (R.id.button_d);
        e = (Button) findViewById (R.id.button_e);
    }



    @Override
    public void onClick(View v) {
        // TODO Auto-generated method stub
        switch(v.getId()){

        case R.id.button_a:
            Intent a = new Intent(MainActivity.this, EuropeActivity.class);
            startActivity(a);
        break;

        case R.id.button_b:
            Intent b = new Intent(MainActivity.this, AmericasActivity.class);
            startActivity(b);
        break;

        case R.id.button_c:
            Intent c = new Intent(MainActivity.this, AsiaActivity.class);
            startActivity(c);
        break;

        case R.id.button_d:
            Intent d = new Intent(MainActivity.this, OceaniaActivity.class);
            startActivity(d);
        break;

        case R.id.button_e:
            Intent e = new Intent(MainActivity.this, AfricaActivity.class);
            startActivity(e);
        break;

        }
    }
}

您正在使用搜索视图的支持库版本。你确定你已经将支持库添加到你的项目中了吗?如果是的话,它是最新版本吗?嗨,是的,我使用支持库,我已经下载了最新的可用库,你认为我可以尝试删除并重新安装库吗?是不会有任何影响。看起来你的应用程序找不到它。如果您从libs文件夹中删除jar,然后右键单击project>Android Tools>Install Support Library,我想我的错误就在这段代码中,不幸的是,这是我第一个使用searchview的应用程序,我还不是很好:(我已经重新安装了库,现在错误消失了,但我收到一些其他错误,我认为问题出在上面的代码中。对不起,这是我第一个使用searchview的应用程序,我还不太清楚:(
    import android.os.Bundle;
    import android.app.SearchManager;
    import android.content.Context;
    import android.content.Intent;
    import android.support.v7.widget.SearchView;
    import android.support.v4.view.MenuItemCompat;
    import android.support.v7.app.ActionBar;
    import android.support.v7.app.ActionBarActivity;
    import android.view.Menu;
    import android.view.MenuItem;
    import android.view.View;
    import android.view.View.OnClickListener;
    import android.widget.Button;

    public class MainActivity extends ActionBarActivity implements OnClickListener{




    ActionBar actionBar;
    Button a;
    Button b;
    Button c;
    Button d;
    Button e;

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);

        actionBar = getSupportActionBar();
        actionBar.setTitle("Trial");

        initialiseOnClick();
        a.setOnClickListener(this);
        b.setOnClickListener(this);
        c.setOnClickListener(this);
        d.setOnClickListener(this);
        e.setOnClickListener(this);
    }

        //START SEARCHVIEWWIDGET
    @Override
    public boolean onCreateOptionsMenu(Menu menu) {
        getMenuInflater().inflate(R.menu.main, menu);
        MenuItem searchItem = menu.findItem(R.id.action_search);

        SearchManager searchManager = (SearchManager)     getSystemService(Context.SEARCH_SERVICE);

        SearchView searchView = (SearchView)     MenuItemCompat.getActionView(searchItem);
    // Configure the search info and add any event listeners
       searchView.setSearchableInfo(searchManager.getSearchableInfo(getComponentName()));
        searchView.setIconifiedByDefault(true); 
        return super.onCreateOptionsMenu(menu);



    }

    @Override
    public boolean onOptionsItemSelected(MenuItem item) {
        switch (item.getItemId()) {
            case R.id.action_search:
                onSearchRequested();
                return true;
            default:
                return false;
        }
    }

    // END SEARCHVIEWWIDGET

    private void initialiseOnClick() {
        // TODO Auto-generated method stub
        a = (Button) findViewById (R.id.button_a);
        b = (Button) findViewById (R.id.button_b);
        c = (Button) findViewById (R.id.button_c);
        d = (Button) findViewById (R.id.button_d);
        e = (Button) findViewById (R.id.button_e);
    }



    @Override
    public void onClick(View v) {
        // TODO Auto-generated method stub
        switch(v.getId()){

        case R.id.button_a:
            Intent a = new Intent(MainActivity.this, EuropeActivity.class);
            startActivity(a);
        break;

        case R.id.button_b:
            Intent b = new Intent(MainActivity.this, AmericasActivity.class);
            startActivity(b);
        break;

        case R.id.button_c:
            Intent c = new Intent(MainActivity.this, AsiaActivity.class);
            startActivity(c);
        break;

        case R.id.button_d:
            Intent d = new Intent(MainActivity.this, OceaniaActivity.class);
            startActivity(d);
        break;

        case R.id.button_e:
            Intent e = new Intent(MainActivity.this, AfricaActivity.class);
            startActivity(e);
        break;

        }
    }
}