我试图将getSupportActionBar()
用于上一页。
在创建toolbar
后退箭头的同时,第二种方法出现错误 error: cannot find symbol class MenuItem
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_start);
getSupportActionBar().setHomeButtonEnabled(true);
}
@Override // This method creates the error
public boolean onOptionsItemSelected(MenuItem item) {
startActivity(new Intent(StartActivity.this, MainActivity.class));
}
答案 0 :(得分:1)
尝试此操作以获取后退arraow的点击事件
@Override
public boolean onOptionsItemSelected(MenuItem item) {
if (item.getItemId() == android.R.id.home) {
// perform Your action here
return true;
}
return false;
}
并在您的清单文件中为您的活动添加父活动,如此
<activity
android:name=".yourActivity"
android:parentActivityName=".ParentActivityname"/>
答案 1 :(得分:1)
Ratilal Chopda已经发布了正确答案,这里只是漂亮代码中的解决方案
public class ServicesViewActivity extends Activity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
// etc...
getActionBar().setDisplayHomeAsUpEnabled(true);
}
@Override
public boolean onOptionsItemSelected(MenuItem item) {
switch (item.getItemId()) {
case android.R.id.home:
NavUtils.navigateUpFromSameTask(this);
return true;
default:
return super.onOptionsItemSelected(item);
}
}
}
函数NavUtils.navigateUpFromSameTask(this)
要求您在AndroidManifest.xml文件中定义父活动
<activity android:name="com.example.ServicesViewActivity" >
<meta-data
android:name="android.support.PARENT_ACTIVITY"
android:value="com.example.ParentActivity" />
</activity>
http://developer.android.com/design/patterns/navigation.html#up-vs-back
答案 2 :(得分:1)
你可以试试这个
<强> MainActivity.java 强>
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_start);
}
@Override // This method creates the error
public boolean onOptionsItemSelected(MenuItem item) {
switch(item.getItemId()) {
case android.R.id.home:
startActivity(new Intent(StartActivity.this, MainActivity.class));
return true;
}
return false;
}
在AndroidManifest.xml里面添加元数据标签,如此
<activity
android:name=".StartActivity"
android:parentActivityName="your package name.MainActivity">
<meta-data
android:name="android.support.PARENT_ACTIVITY"
android:value="your package name.MainActivity" />
</activity>
注意:将“您的包名称”更改为项目包名称
答案 3 :(得分:0)
您还可以检查菜单项是否正确导入 这是我的经验,没有导入该类,因此找不到MenuItem