当我将开关更改为开或关时,我想调用该方法检查开关。
我有代码:
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。
有人可以帮助我吗?感谢。
答案 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();
}
}});