Android 不打电话
我有activity ActivityProfile,有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();
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的菜单项。