Eclipse のアクティビティ クリエーターにあるタイトル ストリップ + スライド テンプレートを使用しています。これが私のフラグメントコードです:
public static class FactorFragment extends Fragment {
static EditText numHolder;
Button btnFactor;
@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container,
Bundle savedInstanceState) {
Activity me = getActivity();
// Create the layout
// Create the views
RelativeLayout holder = new RelativeLayout(me);
numHolder = new EditText(me);
numHolder.setId(1);
btnFactor = new Button(me);
btnFactor.setId(2);
// Style the RelativeLayout
holder.setLayoutParams(new RelativeLayout.LayoutParams(
LinearLayout.LayoutParams.MATCH_PARENT,
LinearLayout.LayoutParams.MATCH_PARENT));
// Style the EditText
RelativeLayout.LayoutParams edittext = new RelativeLayout.LayoutParams(
LinearLayout.LayoutParams.WRAP_CONTENT,
LinearLayout.LayoutParams.WRAP_CONTENT);
edittext.addRule(RelativeLayout.ALIGN_BOTTOM, btnFactor.getId());
edittext.addRule(RelativeLayout.ALIGN_PARENT_LEFT);
edittext.addRule(RelativeLayout.LEFT_OF, btnFactor.getId());
numHolder.setEms(10);
numHolder.setInputType(InputType.TYPE_CLASS_NUMBER);
numHolder.setLayoutParams(edittext);
// Style the button
RelativeLayout.LayoutParams btn = new RelativeLayout.LayoutParams(
LinearLayout.LayoutParams.WRAP_CONTENT,
LinearLayout.LayoutParams.WRAP_CONTENT);
btn.addRule(RelativeLayout.ALIGN_PARENT_RIGHT);
btn.addRule(RelativeLayout.ALIGN_PARENT_TOP);
btnFactor.setText("Factor");
btnFactor.setLayoutParams(btn);
btnFactor.setOnClickListener(onClick);
// Add them to the layout
holder.addView(numHolder);
holder.addView(btnFactor);
return holder;
}
static OnClickListener onClick = new OnClickListener() {
public void onClick(View v) {
int num = Integer.parseInt(numHolder.getText().toString());
Log.e("hi", Integer.toString(num));
}
};
}
ご覧のとおり、数値を保持する numHolder という EditText を作成しています。私が抱えている問題は、ボタンをクリックすると、次の行で強制終了エラーが発生することです。
Log.e("hi", Integer.toString(num));
Integer.toString()
LogCat は、空の文字列を解析できないと言っています。ただし、その上の行で EditText の内容を取得したという事実から、これは、1) EditText から番号を取得するために間違った方法を使用しているか、2) numHolder が何らかの理由であると信じさせます。使用できません。
何がうまくいかないのですか?私は何時間もこれを理解しようとしてきました。
編集:
と から削除static
しましEditText
たonClickListener
。今はうまくいくようです。