0

我正在尝试ToggleButton在我的 Android 代码中使用 a ,但它似乎在其中没有任何作用,而且我不知道我做错了什么。有谁知道我做错了什么?

这是代码:

public class StartActivity extends ActionBarActivity {   Toast t;

    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_start);

    }       public void onToggleClicked(View view) {
        boolean on = ((ToggleButton) view).isChecked();
        if (true) {

            t=Toast.makeText(getApplicationContext(), "Anesthesia has started",Toast.LENGTH_SHORT);
            t.show();
            Intent b_1=new Intent(StartActivity.this,TestService.class);
            startService(b_1);

        } else {
             t=Toast.makeText(getApplicationContext(), "Anesthesia has ended",Toast.LENGTH_SHORT);
            t.show();

        }   }
4

2 回答 2

1

你为什么不调用你的 onToggleClicked方法?

protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_start);
    ToggleButton toggle = (ToggleButton) findViewById(R.id.toggleButton);
    onToggleClicked(toggle);

    // Or set a listener that will be called every time the toggle is changed:
    toggle.setOnCheckedChangeListener(new CompoundButton.OnCheckedChangeListener() {
        @Override
        public void onCheckedChanged(CompoundButton compoundButton, boolean b) {
            Toast.makeText(getApplicationContext(), "Toggle set to: " + b,
                    Toast.LENGTH_SHORT).show();
        }
    });
}
于 2014-11-20T17:46:27.567 回答
1

您尚未onClick在 .xml 中设置 xml 中的ToggleButton

<ToggleButton
    ...
    android:onClick="onToggleClicked"/>

文档

这是一个用户定义的方法,因此您需要告诉您Button使用该方法(可以随意命名)。上面的文档链接还解释了如何OnCheckedChangeListener根据您的喜好使用。

旁注:我认为你想要if (on)而不是if (true)

于 2014-11-20T17:52:52.400 回答