切换按钮onClick方法不起作用

时间:2014-04-19 15:49:44

标签: java android android-button

我有切换按钮android:onClick=onToggleClicked。我尝试从java代码中引用onToggleClicked方法,但问题是,eclipse用红色强调onToggleClicked并且不识别它。如何解决此错误。

进口:

import java.util.Set;
import android.support.v7.app.ActionBarActivity;
import android.support.v7.app.ActionBar;
import android.support.v4.app.Fragment;
import android.bluetooth.BluetoothAdapter;
import android.bluetooth.BluetoothDevice;
import android.os.Bundle;
import android.view.LayoutInflater;
import android.view.Menu;
import android.view.MenuItem;
import android.view.View;
import android.view.ViewGroup;
import android.widget.ArrayAdapter;
import android.widget.Button;
import android.widget.ListView;
import android.widget.TextView;
import android.widget.Toast;
import android.widget.ToggleButton;
import android.os.Build;

JavaCode:

    if (myBluetoothAdapter == null) {
        tb_OnOFF.setEnabled(false);
        btnFind.setEnabled(false);
        btnPaired.setEnabled(false);
        tvStatusCaption.setText("Status: Not Supported.");
        Toast.makeText(getApplicationContext(), "Your Device Does Not Support " +
                "Bluetooth", Toast.LENGTH_LONG).show();
    } else {
        public void onToggleClicked (View view) {
            boolean on = ((ToggleButton) view).isChecked();
            if (on) {
                //enable bluetooth                  
            }

            if (!on) {
                //disable bluetooth
            }
        }
    }

XML:

<ToggleButton
    android:id="@+id/btnToggle"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:textOn="@string/toggle_turn_on"
    android:textOff="@string/toggle_turn_off"
    android:checked="true"
    android:onClick="onToggleClicked" />

2 个答案:

答案 0 :(得分:3)

onToggleClicked是一种公开方法,需要附加到Activity。您不能将此方法用作onCreate方法内的内部方法。

答案 1 :(得分:2)

使用这个

mToggleButton.setOnClickListener(new OnClickListener() {
                @Override
                public void onClick(View arg0) {
                    // TODO Auto-generated method stub
    if (mToggleButton.isChecked()) {
        //your code

    }
    else{
        //your code
    }
                }
            });