Java 切换发送不同字符串的按钮
我有两个切换按钮,每次按下时都会发送不同的字符串代码。但问题是这些按钮发送的是相同的字符串代码“101”,我不知道如何让它们发送不同的代码“101”和“102”。有什么建议吗 java代码Java 切换发送不同字符串的按钮,java,android,xml,Java,Android,Xml,我有两个切换按钮,每次按下时都会发送不同的字符串代码。但问题是这些按钮发送的是相同的字符串代码“101”,我不知道如何让它们发送不同的代码“101”和“102”。有什么建议吗 java代码 public void onToggleClicked(View view) { // Is the toggle on? boolean on = ((ToggleButton) view).isChecked(); if (on
public void onToggleClicked(View view) {
// Is the toggle on?
boolean on = ((ToggleButton) view).isChecked();
if (on) {
String str = "101".toString();
sendToServer(str);
} else {
String str = "000".toString();
sendToServer(str);
}
}
public void onToggleClicked1(View view) {
// Is the toggle on?
boolean on = ((ToggleButton) view).isChecked();
if (on) {
String str = "201".toString();
sendToServer(str);
} else {
String str = "000".toString();
sendToServer(str);
}
xml代码
<ToggleButton
android:id="@+id/togglebutton"
android:layout_width="350dp"
android:layout_height="wrap_content"
android:layout_x="30dp"
android:layout_y="135dp"
android:onClick="onToggleClicked"
android:textOff="Light1- OFF"
android:textOn="Light1- ON"
android:textSize="40dip" />
<ToggleButton
android:id="@+id/toggleButton1"
android:layout_width="350dp"
android:layout_height="wrap_content"
android:layout_x="30dp"
android:layout_y="440dp"
android:onClick="onToggleClicked"
android:text="ToggleButton"
android:textOff="Light2- OFF"
android:textOn="Light2- ON"
android:checked="false"
android:textSize="40dip" />
您的切换按钮正在调用相同的函数。将xml中的一个更改为:
android:onClick="onToggleClicked1"
祝你2014年新年快乐…请遵循以下方法 嗨,如果你看起来像代码
android:onClick="onToggleClicked"
在布局中,每次调用相同的
所以再做一个
android:onClick="onToggleClicked1"
为了获得更好的方法和理解,请为first button编写如下代码
ToggleButton b = (ToggleButton) findViewById(R.id.togglebutton);
// attach an OnClickListener
b.setOnClickListener(new OnClickListener()
{
@Override
public void onClick(View v)
{
// your click actions go here
}
});
为第二个按钮编写如下代码
ToggleButton b1 = (ToggleButton) findViewById(R.id.toggleButton1);
// attach an OnClickListener
b1.setOnClickListener(new OnClickListener()
{
@Override
public void onClick(View v)
{
// your click actions go here
});
试试这个
ToggleButton button1 = (ToggleButton) findViewById(R.id.toggleButton);
ToggleButton button2 = (ToggleButton) findViewById(R.id.toggleButton1);
button1.setOnCheckedChangeListener(new CompoundButton.OnCheckedChangeListener() {
public void onCheckedChanged(CompoundButton buttonView, boolean isChecked) {
if (isChecked) {
String str = "101";
sendToServer(str);
} else {
String str = "000";
sendToServer(str);
}
}
});
button2.setOnCheckedChangeListener(new CompoundButton.OnCheckedChangeListener() {
public void onCheckedChanged(CompoundButton buttonView, boolean isChecked) {
if (isChecked) {
String str = "201";
sendToServer(str);
} else {
String str = "000";
sendToServer(str);
}
}
});
或
请发送完整的代码:0我认为您每次都在调用第一个,这就是为什么第二个没有接收单击事件。此代码可能编写得比此代码好得多。你应该考虑简化代码。正如我所说的,你在事件上调用相同的函数…如果您每次调用相同的代码时在布局中看起来都像android:onClick=“onToggleClicked”,请遵循方法hi,以便制作另一个与android:onClick=“onToggleClicked1”相同的代码,您可以使用带有
view.getId()的开关盒
public void onToggleClicked(View view) {
// Is the toggle on?
boolean on = ((ToggleButton) view).isChecked();
if(R.id.togglebutton == view.getId()){
if (on) {
String str = "101".toString();
sendToServer(str);
} else {
String str = "000".toString();
sendToServer(str);
}
}
if(R.id.togglebutton1 == view.getId()){
if (on) {
String str = "201".toString();
sendToServer(str);
} else {
String str = "000".toString();
sendToServer(str);
}
}
}