【问题标题】:activity loss information活动损失信息
【发布时间】:2013-02-01 23:53:59
【问题描述】:

我编写了一个包含选项按钮和选项活动的应用程序。 在 OptionActivity 中,您可以使用切换按钮选择“打开”或“关闭”播放音乐。还有一些检查按钮。 直到这里一切正常,但是当您选中某个框并返回主菜单并再次返回选项活动时,您会发现所有变量都是默认值。例如,复选框一未选中。我知道这是因为 everyCall the Options Activity with new Intent 但我想知道“不使用新 Intent”开始活动

这是我的启动画面

公共类 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();

}

}

这是我的主要活动,其中包含选项按钮

公共类 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 活动中看到, 所以我的问题已经解决了,但我想知道应该有一个不同于这种方式的解决方案,如果你知道请帮助我。 :)

【问题讨论】:

  • 需要展示相关代码。当你离开 Options Activity 时,它的 onPause() 方法被调用,当你返回时,它的 onResume() 方法被调用。根据您在代码中设置选项的位置,您将拥有默认值或用户选择的值。
  • 我编辑了我的代码,你能澄清一下吗?

标签: android android-intent


【解决方案1】:

您使用的是 PreferenceActivity 还是普通的 Activity 超类?

无论如何,请务必阅读 SharedPreferences - 它可以为整个应用程序或单个活动存储您的值。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-08-29
    • 1970-01-01
    • 1970-01-01
    • 2015-01-26
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多