ここに私のコードのスニペットがあります:
public class ChooseNumWorkoutsDialog extends DialogFragment implements OnClickListener {
Button btnClose, btnFinished;
NumberPicker np;
public ChooseNumWorkoutsDialog() {
// Empty constructor required for DialogFragment
}
@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container,
Bundle savedInstanceState) {
View view = inflater.inflate(R.layout.dialog_numpicker, container);
getDialog().setTitle("Number of Exercises");
btnClose = (Button) findViewById(R.id.btnClose);
btnFinished = (Button) findViewById(R.id.btnFinished);
np = (NumberPicker) findViewById(R.id.np);
//np.setMaxValue(20);
//np.setMinValue(1);
//np.setWrapSelectorWheel(false);
//btnClose.setOnClickListener(this);
//btnFinished.setOnClickListener(this);
return view;
}
XML ファイルには、参照されているすべてのボタンと numberPicker が含まれています。これを実行すると、「np.setMaxValue(20);」で Null Pointer 例外が見つかります。これを機能させる唯一の方法は、表示されるコメント アウトされた部分をすべてコメント アウトすることです。
- ダイアログフラグメント内でonclickリスナーなどを設定できないという状態がわからないというルールはありますか?
- この問題を解決する最善の方法は何ですか?