0

我一直試圖在DialogFragment中實現RadioButton功能,其中值通過按鈕單擊進行存儲/顯示。使用onCreateView實現DialogFragment中的RadioButton使用onCreateView

這是我迄今組裝的代碼。任何人都可以幫我解決我做錯了什麼,我應該怎麼做?謝謝。

public class AddDialogFragment extends DialogFragment { 

    public static RadioGroup addRadioGroup; 

    @Nullable 
    @Override 
    public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) { 

     View view = inflater.inflate(R.layout.add_layout, container); 

     Button dialogAddButton = (Button) view.findViewById(R.id.dialog_add_button); 
     dialogAddButton.setOnClickListener(new View.OnClickListener() { 
      @Override 
      public void onClick(View v) { 
       EditText addInput = (EditText) view.findViewById(R.id.add_input); 
       int selected_id = addRadioGroup.getCheckedRadioButtonId(); 
       RadioButton addRadioButton = (RadioButton) view.findViewById(selected_id); 
       Toast.makeText(this, addRadioButton.getText().toString(), Toast.LENGTH_SHORT).show(); 
      } 
     }); 
     this.getDialog().setTitle("Set Title"); 

     return view; 
    } 
} 

回答

0

你錯過了RadioGroup addRadioGroup = (RadioGroup) view.findViewById(R.id.YOUR_RADIO_BUTTON_ID);

public class AddDialogFragment extends DialogFragment { 
    @Nullable 
    @Override 
    public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) { 

     View view = inflater.inflate(R.layout.add_layout, container); 

     Button dialogAddButton = (Button) view.findViewById(R.id.dialog_add_button); 
     RadioGroup addRadioGroup = (RadioGroup) view.findViewById(R.id.YOUR_RADIO_BUTTON_ID); 
     dialogAddButton.setOnClickListener(new View.OnClickListener() { 
      @Override 
      public void onClick(View v) { 
       EditText addInput = (EditText) view.findViewById(R.id.add_input); 
       int selected_id = addRadioGroup.getCheckedRadioButtonId(); 
       RadioButton addRadioButton = (RadioButton) view.findViewById(selected_id); 
       Toast.makeText(this, addRadioButton.getText().toString(), Toast.LENGTH_SHORT).show(); 
      } 
     }); 
     this.getDialog().setTitle("Set Title"); 

     return view; 
    } 
} 
+0

我得到一個「變量是從內部類中訪問,需要被聲明爲final」警告兩個「意見」以及「addRadioGroup」。 – jughead1990

相關問題