2016-03-25 5 views
1

私のようにラジオボタンでダイアログを作っています前回選択したアイテムを開くときに次回に警告ダイアログのクリック位置を保存するにはどうすればいいですか?

AlertDialog streamQualityDialog; 
    // Strings to Show In Dialog with Radio Buttons 
    final CharSequence[] items = {" Low "," High "}; 

    // Creating and Building the Dialog 
    final AlertDialog.Builder builder = new AlertDialog.Builder(this); 

    builder.setTitle("Quality:"); 

    builder.setSingleChoiceItems(items, -1, new DialogInterface.OnClickListener() { 
     public void onClick(DialogInterface dialog, int position) { 


      final String channelLinkUrl = LinkConfig.getString(Player.this, 
        LinkConfig.CHANNEL_LINK_URL) + "?"; 

      switch (position) { 
       case 0: 

        new ChannelLinkLoader(Player.this, channel, currentCategory + "").execute(channelLinkUrl + "channelId=" 
          + channel.getChannelId() + "&highQuality=off" + "&"); 
        break; 

       case 1: 

        new ChannelLinkLoader(Player.this, channel, currentCategory + "").execute(channelLinkUrl + "channelId=" 
          + channel.getChannelId() + "&highQuality=on" + "&"); 
        break; 

      } 
      streamQualityDialog.dismiss(); 
     } 


    }); 
    streamQualityDialog = builder.create(); 
    streamQualityDialog.show(); 

今ダイアログがクリックされたときに、単一のラジオボタンが強調表示されているラジオボタンを選択して開きます。主な問題は、以前に選択した項目でラジオボタンを選択したい場合に、以前に2回目のダイアログを開いたときです。

これをどのように達成できますか?

答えて

0

私は何をしましたか?public int selectedElement = -1; iは

builder.setSingleChoiceItems(項目、selectedElement、新しいDialogInterface.OnClickListener()

この

builder.setSingleChoiceItems(items, -1, new DialogInterface.OnClickListener() 

を交換し、onClickの内部私はこのような選択項目の位置を設定します。

selectedElement = position;

これは私の問題を解決しました。しかし、アプリケーションの後でも値を保存したい場合はあなたはそれを共有することができます。

0

SharedPreferencesにフラグを保存します。

ダイアログを開く場合、そのフラグをチェックし、それに応じて選択を設定します。

選択が行われた場合は、フラグを更新します。

関連する問題