我編寫了一個包含選項按鈕和選項活動的應用程序。 在OptionActivity中,您可以選擇使用togglebutton播放音樂「開」或「關」。還有一些檢查按鈕。 直到這裏所有東西都是okey,但是當您選中某個框並返回到主菜單並再次返回選項活動時,您會發現所有變量都是默認值。例如,選中的框被取消選中。我知道,那是因爲everyCall的新意向選項的活動,但我想知道,開始的活動「而無需使用新的意向書」活動損失信息
這是我特別畫面
公共類MainActivity擴展活動{
/* (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Ë xtends活動{
@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和當按回來我叫新的意圖(菜單),你可以看到選項活動, 所以我問題已經解決,但我想知道應該有一個解決方案不同於這種方式,如果你知道請幫助我。 :)
需要顯示相關代碼。當您退出選項活動時,將調用onPause()方法,當您返回其onResume()方法時將被調用。根據代碼中設置選項的位置,您將擁有默認值或用戶選擇的值。 – Luis
我編輯了我的代碼,你可以澄清它嗎? –