2

ユーザーが画面を回転させたときにアプリケーションのインスタンスを保存する必要があります。トグルボタン「inst」、画像ボタン「play」、ラジオボタン「sp」を使用しました。これは私のコードです:

public void onSaveInstanceState(Bundle outState)
        {
         outState.putBoolean("play",play);
         outState.putBoolean("inst", inst);
         outState.putBoolean("sp",sp);         /* shows the error "the method put boolean in 
                                                 type bundle is not applicable for radio buttons"*/          
         super.onSaveInstanceState(outState);

        }

では、ラジオ ボタンには何を使用すればよいでしょうか。グーグルで検索すると、設定アクティビティを使用する必要があるという結果が得られました。次に、私の場合、現在のレイアウトのすべての要素を変更する必要があります。他の解決策は非常に役立ちます。

4

3 に答える 3

4

RadioButton、ToggleButton を配置しているのに対し、Bundle.putBoolean メソッドにのみブール値を配置する必要があります。SO ではなく、このメソッドでビュー オブジェクトを渡す状態を渡します。 isChecked プロパティを取得して、コードを次のように変更します。

public void onSaveInstanceState(Bundle outState)
        {
         //outState.putBoolean("play",play);//are you sure its ImageButton if It is, you cant get State  of it in boolean 
         outState.putBoolean("inst", inst.isChecked());
         outState.putBoolean("sp",sp.isChecked());                  
         super.onSaveInstanceState(outState);

        }
于 2012-08-31T04:29:33.230 に答える
0

メソッド spを使用してラジオボタンを確認する必要があります。isChecked()

于 2012-08-31T04:37:07.293 に答える
0

isChecked()次のコードのようなラジオボタンのメソッドを使用する必要があると思いますが、

public void onSaveInstanceState(Bundle outState)
{
            outState.putBoolean("play",play.isChecked());
            outState.putBoolean("inst", inst.isChecked());
            outState.putBoolean("sp",sp.isChecked());      
           super.onSaveInstanceState(outState);
}
于 2012-08-31T04:26:01.220 に答える