Android: кнопка OnClick (), не могу сказать, если что-то происходит - PullRequest
2 голосов
/ 03 сентября 2010

Моя активность onClick () ниже, похоже, ничего не делает (не видит никакой строки), но я не получаю никаких ошибок. Что мне не хватает? Есть ли способ отследить функцию?

package com.HelloTabWidget2;

import android.app.Activity;
import android.os.Bundle;
import android.widget.Button;
import android.widget.TextView;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.Toast;

public class AlbumsActivity extends Activity {

    private Button closeButton;

 public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);

        this.setContentView(R.layout.tab1);
        this.closeButton = (Button)this.findViewById(R.id.button);
        this.closeButton.setOnClickListener(new OnClickListener() {
          public void onClick(View v) {
           Toast.makeText(AlbumsActivity.this, "You clicked the button", Toast.LENGTH_SHORT).show();

          }
        });


    }
}

Спасибо! * * 1004

Ответы [ 3 ]

3 голосов
/ 03 сентября 2010

Я считаю, что проблема связана с анонимным методом, я получаю сообщение об ошибке при попытке использовать ваш код. Просто добавьте значения OnClickListenter.

Если у вас более одной кнопки, вам нужно добавить переключатель или что-то в v.getId ().

import android.app.Activity;
import android.os.Bundle;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.Button;
import android.widget.Toast;

public class AlbumsActivity extends Activity implements OnClickListener {
    private Button closeButton;

    @Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.main);

        this.closeButton = (Button)this.findViewById(R.id.button);
        this.closeButton.setOnClickListener(this);
    }

    @Override
    public void onClick(View v) {
         Toast.makeText(this, "You clicked the button", Toast.LENGTH_SHORT).show();

    }
}
1 голос
/ 03 сентября 2010

Я бы сказал, что вместо написания кода ниже

...setOnClickListener(new OnClickListener() {..."

Я бы предпочел следующий ocde

"...setOnClickListener(new View.OnClickListener() {..."
0 голосов
/ 27 июля 2011

Вы можете просто использовать следующий код

Button closeButton = (Button) findViewById(R.id.button);

    closeButton.setOnClickListener(new OnClickListener() {

        @Override
        public void onClick(View v) {
            Toast.makeText(getApplicationContext(), "Onclick works", Toast.LENGTH_LONG).show();

        }
    });

Если это исключение, перейдите и выполните Project -> Clean.Вещи будут работать правильно

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