0

我是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 和识别设置标签来做到这一点。
这是唯一的解决方案吗?

4

2 回答 2

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;
}
于 2013-08-07T10:22:00.107 回答
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);
于 2013-08-07T10:32:02.243 回答