在我的Android App中,我使用一个带有一个按钮的空活动。如果我按下按钮,我会调用一个有意图的新活动。但是在新活动中,缺少跳回到最后一页的后退按钮(左上角)。是不是已经有来自android studio或者spezial intent调用的活动模板来执行此操作?或者最好的方法是什么?
这是按下按钮
时调用的功能void scanClicked(View v){
Intent intent = new Intent(this, ServiceActivity.class);
startActivity(intent);
}
ServiceActivity只是一个空活动
<activity
android:name=".LoginActivity"
android:label="@string/title_activity_login"
android:theme="@style/SplashTheme"
android:windowSoftInputMode="adjustPan">
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
</activity>
<activity
android:name=".NavigationActivity"
android:label="@string/title_activity_navigation"
android:theme="@style/AppTheme.NoActionBar" />
<activity android:name=".ServiceActivity"
android:label="@string/annualServiceTitle">
</activity>
答案 0 :(得分:3)
有两个选项可以做到这一点。
您可以在XML中使用android ToolBar Adding toolbar
或者您可以添加一个布局,其中ImageButton与布局的左侧对齐。然后你就可以做到这一点。
ImageButton backBtn;
backBtn = (ImageButton) findViewById(R.id.backBtn);
backBtn.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
onBackPressed();
}
});
希望这有帮助。
答案 1 :(得分:2)
在第二个活动中..制作你的活动扩展AppCompactActivity
并在onCreate中添加
getSupportActionBar().setDisplayHomeAsUpEnabled(true);
getSupportActionBar().setHomeButtonEnabled(true);
并将活动中的onOptionsItemSelected覆盖为
@Override
public boolean onOptionsItemSelected(MenuItem item) {
if(item.getItemId() == android.R.id.home)
{
finish();
}
return super.onOptionsItemSelected(item);
}
答案 2 :(得分:2)
这是基于您在styles.xml
文件中定义的应用主题。
如果您使用DarkActionBar
主题,则只需需要在您的清单文件中添加android:parentActivityName="fronius.com.serviceapp_frontend.NavigationActivity"
。
但是如果您使用NoActionBar
主题在您的活动中使用工具栏(如材料设计中所述),您必须将此行代码添加到活动中的可见向上导航按钮中指定parentActivityName
:
getSupportActionBar().setDisplayHomeAsUpEnabled(true);
您也可以通过以下代码行更改向上导航按钮图标:
getSupportActionBar().setHomeAsUpIndicator(R.mipmap.ic_back);
< / p>
答案 3 :(得分:1)
您需要在setDisplayHomeAsUpEnabled
中使用ServiceActivity.java
,如下所示:
public class ServiceActivity extends Activity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
// etc...
getActionBar().setDisplayHomeAsUpEnabled(true);
}
...
}
答案 4 :(得分:1)
试试这个
在您希望通过
转移到 ServiceActivity 呼叫意图的活动上Intent intent = new Intent(this, ServiceActivity.class);
startActivity(intent);
在 ServiceActivity 上处理click事件并调用
view.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
supportFinishAfterTransition();
// or call
finish();
}
});
答案 5 :(得分:1)
我用两行代码解决了这个问题:
在第二个视图的OnCreate中:
getSupportActionBar().setDisplayHomeAsUpEnabled(true);
并在Manifest中添加属性&#34; parentActivityName&#34;到第二个视图:
android:parentActivityName="fronius.com.serviceapp_frontend.NavigationActivity"