使用操作栏中的图标按钮导航到另一个活动

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了使用操作栏中的图标按钮导航到另一个活动相关的知识,希望对你有一定的参考价值。

我有一个问题,如何在我的活动中编码实际实现onClick事件从该活动到我的主页。为了实现onclick转到另一个活动,我应该添加到mainactivity中?

searchmenu.xml:

<?xml version="1.0" encoding="utf-8"?>
<menu xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto">
<item
    android:id="@+id/action_search"
    android:title="Search"
    android:icon="@android:drawable/ic_menu_search"
    app:showAsAction="always|collapseActionView"
    app:actionViewClass="android.support.v7.widget.SearchView" />

<item
    android:id="@+id/action_home"
    android:title="Home"
    android:icon="@drawable/ic_home2"
    app:showAsAction="always|collapseActionView" />

</menu>

活动:

 @Override
public boolean onCreateOptionsMenu(Menu menu) {
    getMenuInflater().inflate(R.menu.searchmenu, menu);

    final MenuItem myActionMenuItem = menu.findItem(R.id.action_search);
    SearchView searchView = (SearchView) myActionMenuItem.getActionView();

    searchView.setOnQueryTextListener(new SearchView.OnQueryTextListener() {
        @Override
        public boolean onQueryTextSubmit(String text) {
            return false;
        }

        @Override
        public boolean onQueryTextChange(String newText) {
            mAdapter.getFilter().filter(newText);
            return true;
        }
    });
    return super.onCreateOptionsMenu(menu);
}
@Override
public boolean onOptionsItemSelected(MenuItem item) {
    switch (item.getItemId()) {

        case R.id.action_home:

            startActivity(new Intent(AuctionList.this,SignIn.class));
            return true;

        default:
            break;
    }

    return false;
}
答案

你可能想试试这个:

 public boolean onCreateOptionsMenu(Menu menu) {
    getMenuInflater().inflate(R.menu.searchmenu, menu);
    return true;
}

    @Override
    public boolean onOptionsItemSelected(MenuItem item) {
        switch (item.getItemId()) {

            case R.id.action_home:

                // Do menu item stuff here
                return true;

            default:
                break;
        }

        return false;
    }
另一答案

试试这个代码..活动中使用的代码..

 public boolean onCreateOptionsMenu(Menu menu) {
getMenuInflater().inflate(R.menu.searchmenu, menu);
return true;

}

@Override
public boolean onOptionsItemSelected(MenuItem item) {
    switch (item.getItemId()) {

        case R.id.action_home:

            // Do menu item stuff here
            return true;

        default:
            break;
    }

    return false;
}

下面用于片段的代码..

override fun onCreateOptionsMenu(menu: Menu?, inflater: MenuInflater?) {
    inflater?.inflate(R.menu.search_menu, menu) // define menu file name
}

//单击事件句柄

override fun onOptionsItemSelected(item: MenuItem?): Boolean {

    when (item!!.itemId) {
        R.id.mnSearchProduct -> {
          // call your fragment.
        }
    }

    return super.onOptionsItemSelected(item)

}

以上是关于使用操作栏中的图标按钮导航到另一个活动的主要内容,如果未能解决你的问题,请参考以下文章

导航抽屉活动:在按钮单击时从片段移动到片段

在底部导航栏中保存片段状态

应用ActionBar中的返回按钮

禁用导航抽屉,在片段中切换主页按钮/向上指示器

如何在单个活动中使用片段中的主要活动浮动操作按钮?

如何将片段目标绑定到底部导航栏中的菜单项?