Как использовать onClickListener для подсчета количества нажатий кнопки? - PullRequest
1 голос
/ 05 декабря 2011

Я хочу посчитать, сколько раз нажимается кнопка (которая создается динамически). На самом деле проблема в том, что я не могу найти способ вернуть что-либо из onclicklistener из-за того, что onClick равен Void, а onclicklistener может возвращаться только как представление.

public  View.OnClickListener evenbutton(final Button inputbutton,
                                        final LinearLayout layout,
                                        final Button[] wholebutton,
                                        final int count){
    return new View.OnClickListener(){
        public void onClick(View v){
          //stuff
        }
    }
}; 

Итак, теперь я не могу считать или возвращать что-либо еще внутри onClick.

Как подсчитать или достать что-либо за пределами щелочного фильтра при нажатии кнопки?

Ответы [ 4 ]

4 голосов
/ 05 декабря 2011

Вы можете вызвать функцию, которая считает клик, например:

public void onClick(View v)
{
    countClick();
}

А затем объявите свою функцию

public void countClick(){
    myClickCount++;
}

Надеюсь, это поможет ...

4 голосов
/ 05 декабря 2011

Вы можете увеличить статическое поле, объявленное в вашем классе.

0 голосов
/ 05 декабря 2011

Я думаю, что вы можете использовать SharedPreferences для этих целей. Каждый раз, когда вы нажимаете на кнопку, вы можете прочитать предпочтения, изменить их и сохранить. Более того, это один из предложенных способов хранения данных в документации: http://developer.android.com/guide/topics/data/data-storage.html#pref

0 голосов
/ 05 декабря 2011

Назначьте глобальный int i. И продолжайте увеличивать его, каждый раз, когда вы нажимаете кнопку.

замените «stuff» на

i = i + 1;

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...