我需要一些帮助,在我的应用程序中,我有第一个活动(主要),然后我调用一个新活动(带有片段、选项卡、滑动) 现在我想启用左上角的主页按钮。 它有效,但它结束了我的应用程序,然后回到我的"手机屏幕"?
这是我的清单
<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="overskov.rhkbrand"
android:versionCode="1"
android:versionName="1.0" >
<uses-sdk
android:minSdkVersion="16"
android:targetSdkVersion="18" />
<uses-permission android:name="android.permission.INTERNET"/>
<application
android:allowBackup="true"
android:icon="@drawable/ic_launcher"
android:label="@string/app_name"
android:theme="@style/AppTheme" >
<activity
android:name="overskov.rhkbrand.MainActivity"
android:label="@string/app_name"
>
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
</activity>
<activity
android:name="overskov.rhkbrand.Under_menu"
android:label="@string/title_activity_under_menu"
android:parentActivityName="overskov.rhkbrand.MainActivity"
>
<meta-data
android:name="android.support.PARENT_ACTIVITY"
android:value="overskov.rhkbrand.MainActivity" />
</activity>
<activity
android:name="overskov.rhkbrand.Etage_menu"
android:label="@string/title_activity_etage_menu" >
</activity>
</application>
</manifest>
这是我的片段
公共类Under_menu扩展了片段活动实现 ActionBar.TabListener {
private ViewPager viewPager;
private TabsPagerAdapter mAdapter;
private ActionBar actionBar;
// Tab titles
private String[] tabs = { "Opgang A", "Studie/Gang", "Opgang B", "Bar/Fest", "Opgang C", "Opgang D" };
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.under_menu);
// Initilization
viewPager = (ViewPager) findViewById(R.id.pager);
actionBar = getActionBar();
mAdapter = new TabsPagerAdapter(getSupportFragmentManager());
viewPager.setAdapter(mAdapter);
actionBar.setDisplayHomeAsUpEnabled(true);
根据安卓开发者:
像这样在清单中指定父活动并使用 setDisplayHomeAsUpEnabled() 启用"向上"按钮后,您的工作就完成了,操作栏将正确向上导航。
那我做错了什么呢?
谢谢丹尼斯
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
Button button1 = (Button) findViewById(R.id.save);
button1.setOnClickListener(new OnClickListener() {
public void onClick(View v) {
startActivity(new Intent(getApplicationContext(), Under_menu.class));
finish();
}
});
Button button2 = (Button) findViewById(R.id.button2);
button2.setOnClickListener(new OnClickListener() {
public void onClick(View v) {
startActivity(new Intent(getApplicationContext(), Etage_menu.class));
finish();
}
});
}
}
如何覆盖主页按钮?
@Override
public boolean onOptionsItemSelected(MenuItem item) {
switch (item.getItemId()) {
// Respond to the action bar's Up/Home button
case android.R.id.home:
onBackPressed();
return true;
}
return super.onOptionsItemSelected(item);
}