View.OnClickListener接口不起作用

时间:2015-03-08 04:05:40

标签: android onclick initialization

我正在编写一些代码,之后当我想运行我的应用程序时,我看到我的点击无法得到任何反应。

我尝试看到使用logCat的一些反应,但我也没有看到任何答案。

有人能帮助我吗?

我正在使用Android Studio 1.0.0

谢谢..

这是我的代码。

    package aybars.arslan.menudroid;

import android.content.Intent;
import android.support.v7.app.ActionBarActivity;
import android.os.Bundle;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.Button;
import android.widget.Toast;


public class MainActivity extends ActionBarActivity implements OnClickListener {

    Button btnOrder, btnBill, btnWaiter, btnMenu, btnContact, btnRestaurant;

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);

        // Initalize buttons
        initialize();
    }

    private void initialize() {
        btnOrder = (Button) findViewById(R.id.btnOrder);
        btnBill = (Button) findViewById(R.id.btnBill);
        btnWaiter = (Button) findViewById(R.id.btnWaiter);
        btnMenu = (Button) findViewById(R.id.btnMenu);
        btnContact = (Button) findViewById(R.id.btnContact);
        btnRestaurant = (Button) findViewById(R.id.btnRestaurant);

        //onClick Events
        btnOrder.setOnClickListener(this);
        btnBill.setOnClickListener(this);
        btnWaiter.setOnClickListener(this);
        btnMenu.setOnClickListener(this);
        btnContact.setOnClickListener(this);
        btnRestaurant.setOnClickListener(this);

    }

    @Override
    public void onClick(View v) {

        switch (v.getId()){
            case R.id.btnOrder:
                showToast("Clicked Order");
                break;
            case R.id.btnBill:
                showToast("Clicked Bill");
                break;
            case R.id.btnWaiter:
                showToast("Clicked Waiter");
                break;
            case R.id.btnMenu:
                showToast("Clicked Menu");
                break;
            case R.id.btnContact:
                showToast("Clicked Contact");
                break;
            case R.id.btnRestaurant:
                showToast("Clicked Restaurant Test");
                break;
        }

    }

    Toast m_currentToast;

    void showToast(String text)
    {
        if(m_currentToast != null)
        {
            m_currentToast.cancel();
        }
        m_currentToast = Toast.makeText(this, text, Toast.LENGTH_LONG);
        m_currentToast.show();

    }

}

1 个答案:

答案 0 :(得分:0)

在点击()中添加super.onCreate(v)并检查其是否有效