我有两项活动:HomeActivity
和EmailChangeActivity
以及HomeActivity
内的一些片段。我想要做的是在back navigation arrow
工具栏中设置EmailChangeActivity
。我有更多的活动,不知怎的,我设法制作了那个箭头(但是我直接从活动中创建了Intents
,而不是从活动中的片段)。我为了得到那个箭头所做的是:
当我从EmailChangeActivity
转到HomeActivity
时,我会在HomeActivity
片段中调用此内容:
Intent intent = new Intent(getActivity().getApplicationContext(),
ChangeEmailActivity.class);
getActivity().startActivityForResult(intent, 1);
内部EmailChangeActivity
我插入标准代码创建Toolbar
并设置它:
// Setting Toolbar
Toolbar toolbar = (Toolbar) findViewById(R.id.toolbar);
setSupportActionBar(toolbar);
getSupportActionBar().setTitle(getString(R.string.change_email_activity_name));
getSupportActionBar().setDisplayShowHomeEnabled(true);
getSupportActionBar().setDefaultDisplayHomeAsUpEnabled(true);
在Manifext.xml
我做了:
<!-- Home Activity -->
<activity
android:name="com.example.nazwamarki.myapplication.HomeActivity"
android:label="@string/home_activity_name"
android:theme="@style/AppTheme.Normal">
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
</activity>
<!-- Change Email Activity -->
<activity
android:name="com.example.nazwamarki.myapplication.ChangeEmailActivity"
android:label="@string/register_activity_name"
android:theme="@style/AppTheme.Normal"
android:parentActivityName=".HomeActivity">
<meta-data
android:name="android.support.PARENT_ACTIVITY"
android:value="com.example.nazwamarki.myapplication.HomeActivity" />
</activity>
仍然没有结果。有什么帮助吗?
修改
我忘了添加我也包含在EmailChangeActivity
中:
@Override
public boolean onCreateOptionsMenu(Menu menu) {
return true;
}
@Override
public boolean onOptionsItemSelected(MenuItem item) {
int id = item.getItemId();
if (id == R.id.home) {
NavUtils.navigateUpFromSameTask(this);
return true;
}
return super.onOptionsItemSelected(item);
}
答案 0 :(得分:0)
如果您未使用ActionBarActivity
:
mToolbar.setNavigationIcon(getResources().getDrawable(R.drawable.ic_action_back));
mToolbar.setNavigationOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
// The intent to go back to HomeActivity
}
});
如果 使用ActionBarActivity
,那么您需要做的就是让Android将工具栏用作ActionBar。
setSupportActionBar(mToolbar);
getSupportActionBar().setDisplayHomeAsUpEnabled(true);
getSupportActionBar().setDisplayShowHomeEnabled(true);
答案 1 :(得分:0)
看起来你错过了这部分:
@Override
public boolean onOptionsItemSelected(MenuItem item) {
switch (item.getItemId()) {
// Respond to the action bar's Up/Home button
case android.R.id.home:
NavUtils.navigateUpFromSameTask(this);
return true;
}
return super.onOptionsItemSelected(item);
}
获取有关详细信息