Android 使用actionBar.setTitle()时应用程序崩溃;

Android 使用actionBar.setTitle()时应用程序崩溃;,android,android-actionbar,android-sqlite,title,Android,Android Actionbar,Android Sqlite,Title,我有一个多列表视图,我将所有数据从Sqlite提取到每个列表视图 现在,我想将第二个列表视图操作栏名称更改为第一个列表视图选择标题名称 当我选择任何一个项目(标题名)时,使用意图将其传递到下一个活动,我设置了操作栏,但我的应用程序崩溃了 这是密码 我的第一个列表视图代码 protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setConte

我有一个多列表视图,我将所有数据从Sqlite提取到每个列表视图

现在,我想将第二个列表视图操作栏名称更改为第一个列表视图选择标题名称

当我选择任何一个项目(标题名)时,使用意图将其传递到下一个活动,我设置了操作栏,但我的应用程序崩溃了 这是密码

我的第一个列表视图代码

protected void onCreate(Bundle savedInstanceState) {

        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        listView= (ListView) findViewById(R.id.listView);
  dbHelper = new SqlLiteDbHelper(this);
        try {
            dbHelper.openDataBase();
        } catch (SQLException e) {
            e.printStackTrace();
        }
        sqLiteDatabase = dbHelper.getReadableDatabase();
        cursor = dbHelper.gettitles(sqLiteDatabase);
        String[] from = new String[]{dbHelper.TITLE};
        int[] to = new int[]{R.id.title};
        SimpleCursorAdapter adapter = new SimpleCursorAdapter(this, R.layout.title_row, cursor, from, to);
        adapter.notifyDataSetChanged();
        listView.setAdapter(adapter);
        listView.setOnItemClickListener(new AdapterView.OnItemClickListener() {
            @Override
            public void onItemClick(AdapterView<?> parent, View view, int position, long id) {
                cursor = (Cursor) (listView.getItemAtPosition(position));
                String selectedItem = cursor.getString(0);
                Intent intent = new Intent(MainActivity.this, SubcategoryActivity.class);
                intent.putExtra("selectedItem", selectedItem);
                startActivity(intent);
Logcat

java.lang.RuntimeException: Unable to start activity ComponentInfo{com.example.ky.sidd/com.example.ky.sidd.SubcategoryActivity}: java.lang.NullPointerException
            at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2255)
            at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2309)
            at android.app.ActivityThread.access$700(ActivityThread.java:157)
            at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1289)
            at android.os.Handler.dispatchMessage(Handler.java:99)
            at android.os.Looper.loop(Looper.java:176)
            at android.app.ActivityThread.main(ActivityThread.java:5317)
            at java.lang.reflect.Method.invokeNative(Native Method)
            at java.lang.reflect.Method.invoke(Method.java:511)
            at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:1102)
            at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:869)
            at dalvik.system.NativeStart.main(Native Method)
     Caused by: java.lang.NullPointerException
            at com.example.ky.sidd.SubcategoryActivity.onCreate(SubcategoryActivity.java:60)
            at android.app.Activity.performCreate(Activity.java:5326)
            at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1097)
            at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2218)
            at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2309)
            at android.app.ActivityThread.access$700(ActivityThread.java:157)
            at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1289)
            at android.os.Handler.dispatchMessage(Handler.java:99)
            at android.os.Looper.loop(Looper.java:176)
            at android.app.ActivityThread.main(ActivityThread.java:5317)
            at java.lang.reflect.Method.invokeNative(Native Method)
            at java.lang.reflect.Method.invoke(Method.java:511)
            at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:1102)
            at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:869)
            at dalvik.system.NativeStart.main(Native Method)

搜索
getActionbar.setTitle(“”)
getSupportActionbar.setTitle(“”)

getActionBar().setTitle(Html.fromHtml(“ActionBartitle名称”);

如果您正在使用ActionBar的支持库,请将getActionBar()更改为getSupportActionBar()。

首先检查您选择的数据字符串和操作栏是否为空,因为您遇到了空指针异常

您可以使用工具栏。并将工具栏设置为actionbar。 在工具栏中添加文本视图

    setSupportActionBar(mToolbar);
textView.settext("your list name");

对于ref use

谢谢,但我想在actionbar中根据从SQLITE中选择的数据设置标题,当您选择任何一个项目(如double cheeze)时,使用意图将此传递到您想要设置标题的下一个活动。试试这个。getIntent().getExtras().getString(“selectedItem”);在onItemclicked的ListView中的第一个活动中,调试应用程序并查看selectedItem在字符串selectedItem=cursor.getString(0)之后是否有一些值;如果slectedItem为null,那么这就是问题所在检查我的更新代码@emmgfxhow以添加带有文本视图的工具栏??我有一个自定义列表视图权限我想在自定义布局中编写工具栏代码对吗?请使用上面的链接参考
Actionbar actionbar = getActionbar();

or

Actionbar actionbar = getSupportActionBar();

actionbar.setTitle("your title goes here.");
getActionBar().setTitle(Html.fromHtml("<font color='#ff0000'>ActionBartitle Name </font>"));
    setSupportActionBar(mToolbar);
textView.settext("your list name");