我写了一个包含选项按钮和Option Activity的应用程序。 在OptionActivity中,您可以选择使用togglebutton播放音乐“开”或“关”。并且还有一些检查按钮。 直到这里一切都很好但是当你检查一些框并返回主菜单并再次回到Options Activity时,你会发现所有变量都是默认值。例如,未选中复选框1。我知道这是因为Everycall选项活动有新的Intent,但我想知道开始一个活动“不使用新的Intent”
这是我的SPLASH SCREEN
公共类MainActivity扩展了Activity {
/* (non-Javadoc)
* @see android.app.Activity#onCreate(android.os.Bundle)
*/
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.baslangic);
Thread thred=new Thread(){
public void run(){
try {
sleep(5000);
startActivity(new Intent("com.KAYA.ingilizce_gelistirme.OPTIONS"));
startActivity(new Intent("com.KAYA.ingilizce_gelistirme.BASLANGIC"));
} catch (InterruptedException e) {
e.printStackTrace();
}finally{
finish();
}
}
};
thred.start();
}
}
这是我的主要ACTİVTY,其中包含选项按钮
公共类Baslangic扩展了Activity {
@Override
protected void onStart() {
// TODO Auto-generated method stub
super.onStart();
}
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
Button start=(Button)findViewById(R.id.button1);
Button options=(Button)findViewById(R.id.button2);
Button about=(Button)findViewById(R.id.button3);
start.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
startActivity(new Intent("com.KAYA.ingilizce_gelistirme.OYUN"));
}
});
options.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
finish();
}
});
about.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
startActivity(new Intent("com.KAYA.ingilizce_gelistirme.ABOUT"));
}
});
}
@Override
public boolean onCreateOptionsMenu(Menu menu) {
// Inflate the menu; this adds items to the action bar if it is present.
getMenuInflater().inflate(R.menu.activity_main, menu);
return true;
}
}
这是我的选择活动
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.options);
it=(RadioButton)findViewById(R.id.radio0);
ti=(RadioButton)findViewById(R.id.radio1);
final ToggleButton but=(ToggleButton)findViewById(R.id.toggleButton1);
music=MediaPlayer.create(Options.this, R.raw.avril);
but.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
if(but.isChecked())
music.start();
else
music.pause();
}
});
it.setChecked(true);
Button menu=(Button)findViewById(R.id.button1);
menu.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
startActivity(new Intent("com.KAYA.ingilizce_gelistirme.BASLANGIC"));
}
});
}
@Override
public void onBackPressed() {
// TODO Auto-generated method stub
startActivity(new Intent("com.KAYA.ingilizce_gelistirme.BASLANGIC"));
}
@Override
protected void onPause() {
super.onPause();
}
@Override
protected void onResume() {
// TODO Auto-generated method stub
super.onResume();
}
@Override
protected void onStop() {
super.onStop();
}
}
注意:请注意当用户单击选项按钮时,我调用finish(),实际上我有一个解决方案。我的解决方案是,在启动画面后,我开始2个活动;第一个选项稍后菜单,当用户单击选项按钮并且我调用结束()所以我在选项按钮:D并且当按下我称为新意图(菜单)时,您可以在OPTIONS活动中看到, 所以我的问题已经解决但我想知道应该有一个不同于这种方式的解决方案,如果你知道请帮助我。 :)
答案 0 :(得分:0)
您使用的是PreferenceActivity还是普通的Activity超类?
无论如何,请务必阅读有关SharedPreferences的内容 - 它可以存储整个应用或单个活动的值。