Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/187.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Android 不打电话_Android_Android Toolbar - Fatal编程技术网

Android 不打电话

Android 不打电话,android,android-toolbar,Android,Android Toolbar,我有activity ActivityProfile,有getSupportActionBar().setDisplayHomeAsUpEnabled(true)已实现,onBackPressed()同样,在互联网上搜索,但仍然没有帮助 @Override public void onBackPressed() { Toast.makeText(this, "OnBackpressed fired", Toast.LENGTH_SHORT).show();

我有activity ActivityProfile,有
getSupportActionBar().setDisplayHomeAsUpEnabled(true)已实现,
onBackPressed()
同样,在互联网上搜索,但仍然没有帮助

@Override
    public void onBackPressed() {
        Toast.makeText(this, "OnBackpressed fired", Toast.LENGTH_SHORT).show();
        super.onBackPressed();
    }

    @Override
    public boolean onKeyDown(int keyCode, KeyEvent event)
    {
        //replaces the default 'Back' button action
        if(keyCode== KeyEvent.KEYCODE_BACK)   {
// something here
            onBackPressed();
        }
        return true;
    }

使用设备的“后退”按钮有效,但在应用程序上无效…

嗨,请在活动中添加此代码。当您按下工具栏中的“后退”按钮时,将执行以下代码

@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.your_view);
    getSupportActionBar().setDisplayHomeAsUpEnabled(true);
    getSupportActionBar().setHomeButtonEnabled(true);
}


@Override
public boolean onOptionsItemSelected(MenuItem item) {
    switch (item.getItemId()){
        case android.R.id.home:
            finish();
            break;
        default:
            return super.onOptionsItemSelected(item);

    }
    return super.onOptionsItemSelected(item);
}

您应该使用onOptionItemSelected来处理操作栏底部的单击:

@Override
public boolean onOptionsItemSelected(MenuItem item)
{
    switch (item.getItemId())
    {
    case android.R.id.home:
        finish();
        return true;
    default:
        return super.onOptionsItemSelected(item);
    }
}
试试这个

setSupportActionBar(toolbar);
toolbar.setNavigationOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {
                onBackPressed();
            }
        });
这应该行得通

@Override
public boolean onOptionsItemSelected(MenuItem item) {
    int id = item.getItemId();

    if (id == android.R.id.home) {
        onBackPressed();
    }

    return super.onOptionsItemSelected(item);
}

要实现向上导航,请在manifest中声明该特定活动的父级,并将setDisplayHomeAsUpEnabled声明为true

 <activity
        android:name="com.example.myfirstapp.DisplayMessageActivity"
        android:label="@string/title_activity_display_message"
        android:parentActivityName="com.example.myfirstapp.MainActivity" >
        <!-- Parent activity meta-data to support 4.0 and lower -->
        <meta-data
            android:name="android.support.PARENT_ACTIVITY"
            android:value="com.example.myfirstapp.MainActivity" />
    </activity>

添加一些详细信息,说明为什么这样做可以解决问题。同样,您应该解释您的更改以及为什么更改会产生所需的结果。不管是问题还是答案,代码转储很少是好的。你确定吗@AniruddhPariharyes,bcs在5.0及以上版本中,您必须使用工具栏而不是ActionBar,如果您使用工具栏,则上述逻辑将不起作用。我很实用。它使用工具栏,所以它可以在所有api@AniruddhPariharNo中工作。如果工具栏上有后退按钮,我可以很容易地将其作为溢出菜单的一部分,但我的老板和设计师希望它作为工具栏上的后退按钮。因此,主页id由设计库或什么?标准导航模式明确定义。由徽标或图标以及带有可选字幕的标题文本组成。单击这些元素中的任何一个都将向主机活动分派OnOptions ItemSelected,其中包含一个项目ID为android.R.ID.home的菜单项。