发生的问题是由于我将清单中的设置活动的父级设置为所有小写,这不是主活动路径的正确格式。
我最初的应用目标是成功实现一个加载并保存按钮(你猜对了)加载并保存数据(到外部SD卡上的文本文件)。成功实现此功能后,我决定使用设置文件来使用共享首选项,该文件将更改为字体大小和颜色。我设置了一个菜单,可以通过意图运行我的设置活动。设置活动是由sdk生成的,但在按下操作栏上的后退按钮后似乎崩溃了。 Screenshots of the app,the logcat file和我的源代码如下。谢谢你的时间!
这是用于启动设置活动的方法。
public boolean onOptionsItemSelected(MenuItem item) {
switch (item.getItemId()) {
case R.id.menu_settings:
Intent intent = new Intent(this, SettingsActivity.class);
startActivity(intent);
return true;
default:
return super.onOptionsItemSelected(item);
}
}
这是生成的设置活动。
package com.spacemanspiff.savefiles;
import android.os.Bundle;
import android.app.Activity;
import android.view.Menu;
import android.view.MenuItem;
import android.support.v4.app.NavUtils;
public class SettingsActivity extends Activity {
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_settings);
getActionBar().setDisplayHomeAsUpEnabled(true);
}
@Override
public boolean onCreateOptionsMenu(Menu menu) {
getMenuInflater().inflate(R.menu.activity_settings, menu);
return true;
}
@Override
public boolean onOptionsItemSelected(MenuItem item) {
switch (item.getItemId()) {
case android.R.id.home:
NavUtils.navigateUpFromSameTask(this);
return true;
}
return super.onOptionsItemSelected(item);
}
}
答案 0 :(得分:1)
The crash can be rectified by adding the **android:parentActivityName** in the manifest file for the child activity.
E.g.
<activity
android:name="com.example.projectlearn.ActivityTwo"
android:label="@string/title_activity_two"
android:parentActivityName="com.example.projectlearn.MainActivity" >
</activity>