onClick, просмотр не отвечает - PullRequest
1 голос
/ 03 апреля 2012

Я пытаюсь использовать метод onclick.Мой класс имеет ..

Public class Homework extends Activity implements View.OnClickListner

И у меня есть метод, подобный этому:

@Override
Public void onClick(View v){
Log.I(TAG, "Click");
}

Но когда я нажимаю на представление (которое имеет click = true) в xml, оно нене придумать ничего

Когда представление нажато, оно предназначено для регистрации "клика" с использованием обычного прослушивателя щелчков, но это работает, но я не хочу использовать кучи слушателей.

Ответы [ 4 ]

0 голосов
/ 03 апреля 2012

Вы должны обратиться, чтобы использовать самый простой способ, который я всегда делаю, как показано ниже:

    @Override
    public void onCreate(Bundle savedInstanceState) {
        button1.setOnClickListener(onClickListener);
            button2.setOnClickListener(onClickListener);
            button3.setOnClickListener(onClickListener);
    }

    private OnClickListener onClickListener = new OnClickListener() {

        @Override
        public void onClick(final View v) {
                 switch(v.getId()){
                     case R.id.button1:
                          //DO something
                     break;
                     case R.id.button2:
                          //DO something
                     break;
                     case R.id.button3:
                          //DO something
                     break;
                 }

        }
    };
0 голосов
/ 03 апреля 2012

В вашем макете XML, прикрепленном к вашей кнопке:

<Button ...
android:onClick="doClick" <!-- name is arbitrary, but must match activity method name -->
</Button>

Вернуться в вашу деятельность:

...
public void doClick(View v){
    // actions for click response
}
0 голосов
/ 03 апреля 2012

Попробуйте это: я надеюсь, что это будет работать

    Public class Homework extends Activity implements View.OnClickListner {
   @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.main);  // replace main with your layout
        findViewById(R.id.view).setOnClickListener(this); // replace view with your id

    }

     }
@Override
Public void onClick(View v){
Log.I(TAG, "Click");
}
0 голосов
/ 03 апреля 2012

Вы устанавливаете onClickListener для этого представления?

Вы должны написать этот фрагмент в своем коде

View view = findViewById(R.id.your view id);
view.setOnClickListener(this);
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...