Нажатие кнопки дважды - PullRequest
3 голосов
/ 10 января 2011

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

Кроме того, когда я применяю тему (см. Стили и темы), мне даже приходится нажимать любую кнопку дважды, а не только кнопку.указано выше, но, например, также кнопка «да» или «нет» в вопросе, чтобы выйти из приложения (через диалог)

Я искал на форумах это, но не нашел ответ, который искалза.Надеюсь, кто-нибудь может дать мне идею.

public void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.main);
    root = (LinearLayout) findViewById(R.id.root);    

((Button) findViewById(R.id.btnZoeken)).setOnClickListener(
            new Button.OnClickListener(){
                @Override
                public void onClick(View arg0) {
                    zoekOpPostcodes(txtZoeken.getText().toString());
                }

                private void zoekOpPostcodes(String zoekterm){

                                                //more irrelevant code
                                         txtResultaat.setText(txtRes);
                            }

//more irrelevant code
private void quit() {
    // prepare the alert box
    AlertDialog.Builder abQuit = new AlertDialog.Builder(this);

    // set the message to display
    abQuit.setMessage("Weet je zeker dat je wil afsluiten?");

    // set a positive/yes button and create a listener
    abQuit.setPositiveButton("Ja", new DialogInterface.OnClickListener() {

        // do something when the button is clicked
        public void onClick(DialogInterface arg0, int arg1) {
            Toast.makeText(getApplicationContext(), "Tot ziens!", Toast.LENGTH_LONG).show();
            iRegionForAndroid.this.finish();
        }
    });

    // set a negative/no button and create a listener
    abQuit.setNegativeButton("Nee", new DialogInterface.OnClickListener() {

        // do something when the button is clicked
        public void onClick(DialogInterface arg0, int arg1) {
            Toast.makeText(getApplicationContext(), "Afsluiten geannuleerd!", Toast.LENGTH_SHORT).show();
        }
    });

    // display box
    abQuit.show();

}

Если вам понадобится больше моего кода для этого, «спросите, и вы получите» :), похоже, что-то не такс разделами «код» он не содержит весь код, но его части в разделе «код»

1 Ответ

17 голосов
/ 05 сентября 2011

Возможно, вы правы в том, что это связано с фокусом.

У вас может быть android: focusableInTouchMode = "true", и оно должно быть ложным. Первый щелчок фокусируется на элементе, а второй вызывает слушателя.

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