我是Android编程新手 我已经动态创建了一些Buttons,EditText并为所有这些设置了onclick监听器。 这里有一些按钮和EditText,我必须编写不同的逻辑。
如果我写
public void onClick(View v) {
if(v instanceof Button){
// do some thing
}else if(v instanceof EditText){
// do some thing
}
}
对于所有按钮和EditText应用相同的逻辑 但我想要一些按钮和Edittext的特定逻辑。 我可以通过设置一些Editext / Buttons和Identify的标签来做到这一点 这是唯一的解决方案吗?
答案 0 :(得分:0)
in onClick you can write switch case based on id of each component (button etc):
@Override
public void onClick(View v) {
switch(v.getId()){
case R.id.camera:
break;
case R.id.camera_focused:
break;
}
答案 1 :(得分:0)
final Button button = new Button(this);
button.setText("Click to change second line of text");
OnClickListener buttonListener = new View.OnClickListener() {
boolean clicked = false;
int numClicks = 0;
@Override
public void onClick(View v) {
if(numClicks > 5)
{
button.setText("STOP IT");
}
numClicks++;
if(clicked == false){
clicked = true;
tv2.setText("Text Changed on Button Click");
}
else
{
clicked = false;
tv2.setText("Click again");
}
}
};
button.setOnClickListener(buttonListener);