我有后退箭头并且工作但不仅仅是完成activityB并返回到用户在activityA中的上一个视图(片段)。它会关闭activityB并重新加载activityA,这意味着你必须回过几个菜单才能回到原来的位置。
物理后退箭头完全符合我的要求,因为它只是关闭了activtyB并将用户放回到他们移动到activtyB之前最初的位置。
这是我目前工具栏后退箭头的代码,但也许我还没有完全掌握物理后退箭头的工作原理。我感谢任何建议!
toolbar = (Toolbar) findViewById(R.id.tool_bar);
setSupportActionBar(toolbar);
getSupportActionBar().setDisplayHomeAsUpEnabled(true);
答案 0 :(得分:1)
对于每个活动,您必须在Android清单文件中添加父活动。
<activity
android:name="com.example.myfirstapp.ActivityC"
android:label="@string/title_activity_display_message"
android:parentActivityName="com.example.myfirstapp.MainActivity" >
<!-- The meta-data element is needed for versions lower than 4.1 -->
<meta-data
android:name="android.support.PARENT_ACTIVITY"
android:value="com.example.myfirstapp.MainActivity" />
</activity>
如果您将MainActivity指定为ActivityC的父级,则它将转到MainActivity。如果您指定了ActivityB,它将在ActionBar中点击后退按钮移动到ActivityB。
有关详情,请参阅here
答案 1 :(得分:0)
您需要覆盖活动的onOptionsItemSelected方法:
SharedPreferences sharedPrefs = PreferenceManager.getDefaultSharedPreferences(this);
boolean playSound = sharedPrefs.getBoolean("sound_on_create", false);
boolean vibrate = sharedPrefs.getBoolean("vibrate_on_create", false);
boolean removeOnklick = sharedPrefs.getBoolean("remove_onclick", true);
//testing:
Toast.makeText(this, "values: " + playSound + " " + vibrate + " " + removeOnklick, Toast.LENGTH_LONG).show();