два разных действия по нажатию одной кнопки? - PullRequest
0 голосов
/ 02 января 2012

У меня есть кнопка, мне нужно выполнить два действия, то есть, когда я открываю свое приложение в первый раз, после установки оно должно выполнить задачу. После первого запуска оно не хочет выполнять первое действие. Как это сделать? я это реализую?

Я реализую это,

private int _clicks = 0;
k = (Button)findViewById(R.id.button1);


    if(count == 1)
         //do whatever
    if(count == 2)
         //do whatever
    if(count == 3)
         //do whatever
}
});

Ответы [ 3 ]

4 голосов
/ 02 января 2012

Я бы использовал объект SharedPreferences в качестве "флага". При первом запуске приложения установите флажок в объекте SharedPreferences. Проверьте значение этого флага в вашей кнопке onClickListener().

3 голосов
/ 02 января 2012

Вы должны помнить, что вы уже выполнили задание. Поэтому я предлагаю вам сохранить значение в SharedPreferences, которое вы установите после выполнения задачи, и перепроверить перед обработкой любого другого клика в будущем.

SharedPreferences prefs = getPreferences(Context.MODE_PRIVATE);

if(!prefs.getBoolean("WAS_INITIALIZED", false)){
    // will only be executed after the first run. 
    // remember that it was initialized
    Editor editor = prefs.edit();
    editor.putBoolean("WAS_INITIALIZED", true);

    // put you code which should only be run once here ..
}
0 голосов
/ 02 января 2012

Simple. Создайте файл на SD-карте для ваших действий. Измените файл в соответствии с вашими требованиями, поэтому, когда ваше приложение запускается, оно будет читать файл и реагировать в соответствии с действиями, которые вы там написали.

Попробуйте это.

Без глобальной переменной вы не можете изменить действие, поэтому глобальная переменная будет помещена в SD-карту. попытайтесь понять это.

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