Android Switch方法不起作用

时间:2014-07-30 11:02:48

标签: android

当我将开关更改为开或关时,我想调用该方法检查开关。

我有代码:

int swflag=0;
public void checkswitch(View view)
{
    Switch sw =(Switch)findViewById(R.id.switch1);

    if(sw.isChecked())
        swflag=1;
    else
        swflag=0;
}

但这不起作用,因为标志不会改变,这可能是因为我在xml中使用OnClick。我正在使用android studio。

有人可以帮助我吗?感谢。

2 个答案:

答案 0 :(得分:0)

package com.example.testing;
import android.app.Activity;
import android.os.Bundle;
import android.util.Log;
import android.widget.CompoundButton;
import android.widget.CompoundButton.OnCheckedChangeListener;
import android.widget.Switch;
public class SwitchTesting extends Activity
{
    int swflag=0;
    @Override
    protected void onCreate(Bundle savedInstanceState)
    {
        // TODO Auto-generated method stub
        super.onCreate(savedInstanceState);
        setContentView(R.layout.switch_widget_sample);

        Switch swichObj = (Switch) findViewById(R.id.switch1);
        swichObj.setOnCheckedChangeListener(new OnCheckedChangeListener()
        {
            @Override
            public void onCheckedChanged(CompoundButton buttonView, boolean isChecked)
            {
                // TODO Auto-generated method stub
                if(isChecked)
                {
                    swflag = 1;
                }
                else
                {
                    swflag = 0;
                }
                Log.d("swflag Value  = ", Integer.toString(swflag));
            }
        });
    }
}

它对我有用。 Switch Widget将在API Level 14及以上版本

上提供

答案 1 :(得分:0)

我为切换按钮做了这个.. 如果你有

tgl_switch.setOnClickListener(new OnClickListener(){

        @Override
        public void onClick(View v) {
            // TODO Auto-generated method stub
            if(tgl_switch.isChecked()){

               // Your Code Here 
                Toast.makeText(getApplicationContext(), "Switch ON",
                       Toast.LENGTH_SHORT).show();

            }else{


                 // else part
                Toast.makeText(getApplicationContext(), "Switch off",
                           Toast.LENGTH_SHORT).show();
            }
        }});