この単純なコードを見てください-スイッチの内部ではclear.getId();
、ボタンをどこで宣言しても使用できませんclear
。私の投稿したコードでは、で宣言されていonCreate
ます。IDを記述/ハードコーディングでき、問題ないことはわかっていますが、これを正しい方法でコーディングしたいと思います。
コード:
public class AddProduct extends Activity implements OnClickListener {
Button sendInfo, clear, cancel;
EditText name, quantity;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_add_product);
initializeVars();
}
@Override
public void onClick(View v) {
switch (v.getId()) {
// *** --> case (clear.getid()) : break; // *** This doesnt work
// case R.id.bClear : break;
}
}
public void initializeVars() {
sendInfo = (Button) findViewById(R.id.bAddProduct);
clear = (Button) findViewById(R.id.bClear);
cancel = (Button) findViewById(R.id.bCancel);
name = (EditText) findViewById(R.id.etName);
quantity = (EditText) findViewById(R.id.etEnterQuantity);
sendInfo.setOnClickListener(this);
clear.setOnClickListener(this);
cancel.setOnClickListener(this);
}
}
ありがとう