我想在我的活动中添加后退箭头,并覆盖后退按下以执行"返回"函数,我的设备上的行按钮。我可以这样做而不实现父活动A到我的活动B.Tried使用
getActionBar().setDisplayHomeAsUpEnabled(true);
但是android告诉我这个代码可能会产生NPE,而当我尝试设置主题Theme.AppCompat时,android studio会给我错误,没有解析符号。 我的活动代码:
public class Activity_videoplayer extends ActionBarActivity {
MyVideoView myVideoView;
VideoView videoView;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_ctivity_videoplayer);
Intent intent = getIntent();
String video_url = intent.getExtras().getString("video_url");
videoView = (VideoView) findViewById(R.id.video_view);
MediaController mediaController = new MediaController(this);
mediaController.setAnchorView(videoView);
videoView.setMediaController(mediaController);
videoView.setVideoURI(Uri.parse(video_url));
videoView.requestFocus();
videoView.start();
}
public void onBackPressed(){
super.onBackPressed();
}
}
答案 0 :(得分:0)
尝试
mToolbar = (Toolbar) findViewById(R.id.toolbar);
setSupportActionBar(mToolbar);
getSupportActionBar().setDisplayShowHomeEnabled(true);
getSupportActionBar().setDefaultDisplayHomeAsUpEnabled(true);
getSupportActionBar().setDisplayHomeAsUpEnabled(true);
可能有帮助......
答案 1 :(得分:0)
确保在清单
中设置您的活动或片段 assert getSupportActionBar() != null;
getSupportActionBar().setDisplayHomeAsUpEnabled(true);
并在您的片段或活动的清单文件中设置此代码
<activity android:name=".yourCurrentFragmentOrActivity">
<meta-data
android:name="android.support.PARENT_ACTIVITY"
android:value=".whichActivityYouWantToGoBack" />
</activity>
您的后退箭头仅在您为其设置父活动时才有效。 并且不需要onBackPressed事件
和你的第二个答案: -
你扩展actionBarActivity意味着你的目标sdk版本是21,如果你想使用appCompat主题,那么你必须扩展AppCompatActivity, 为此你的目标sdk版本应该是22或23.如果你的平台插件和sdktool完全升级,那么你不必自己设置任何东西,它会自动设置一切。所以只需升级你的sdk和平台插件。 你可以查看我的
及其最新版本
答案 2 :(得分:0)
在xml中使用app widget工具栏并将以下代码复制到java文件中。
Toolbar toolbar=(Toolbar)findviewbyId(R.id.toolbar);
if(toolbar!=null) {
setSupportActionBar(toolbar);
getSupportActionBar().setDisplayHomeAsUpEnabled(true);
}
//并调用方法:
@Override
public boolean onOptionsItemSelected(MenuItem item)
{
onBackPressed();
return true;
}