gpt4 book ai didi

android - 单选按钮仅在单击按钮时发生 android studio

转载 作者:行者123 更新时间:2023-11-30 02:03:57 24 4
gpt4 key购买 nike

本质上,我想要的是一旦我点击翻译按钮,我想打印当前选中的单选按钮。我现在所拥有的是,只要我点击一个单选按钮,它就会将其打印到 TextView 中,但我希望它只在我点击翻译按钮后发生。任何帮助将不胜感激!

public class MainActivity extends ActionBarActivity {

@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
}


public void Translate(View view) {
onRadioButtonClicked(view);

}

public void onRadioButtonClicked(View view) {
// Is the button now checked?
boolean checked = ((RadioButton) view).isChecked();

// Check which radio button was clicked
switch(view.getId()) {
case R.id.radio_hi:
if (checked) { display("hi"); }
break;
case R.id.radio_bus:
if (checked) { display("bus"); }
break;
case R.id.radio_bathroom:
if (checked) { display("bathroom"); }
break;
case R.id.radio_beer:
if (checked) { display("beer"); }
break;
case R.id.radio_cost:
if (checked) { display("cost"); }
break;
default:
display("no button clicked");
}
}



private void display(String str) {
TextView translateTextView = (TextView) findViewById(R.id.display);
translateTextView.setText(str);
}
}







<Button
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Translate"
android:layout_alignParentBottom="true"
android:layout_centerHorizontal="true"
android:id="@+id/button"
android:onClick="Translate"/>

<RadioGroup
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:orientation="vertical"
android:id="@+id/radioGroup"
android:layout_below="@+id/spinner1"
android:layout_alignParentLeft="true"
android:layout_alignParentStart="true"
android:layout_marginTop="37dp">
<RadioButton
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:id="@+id/radio_hi"
android:text="@string/hi"
android:onClick="onRadioButtonClicked"/>
<RadioButton
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:id="@+id/radio_bus"
android:text="@string/taxi"
android:onClick="onRadioButtonClicked"/>
<RadioButton
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:id="@+id/radio_bathroom"
android:text="@string/bathroom"
android:onClick="onRadioButtonClicked"/>
<RadioButton
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:id="@+id/radio_beer"
android:text="@string/beer"
android:onClick="onRadioButtonClicked"/>
<RadioButton
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:id="@+id/radio_cost"
android:text="@string/cost"
android:onClick="onRadioButtonClicked"/>
</RadioGroup>

最佳答案

我不是 100% 确定我是否理解你的问题/代码。但是,如果您只想更改 Translate Button Click 上的文本,您可以尝试这样的操作:

public void Translate(View view) {

RadioGroup radioGroup = (RadioGroup) findViewById(R.id.radioGroup);


int btnID = radioGroup.getCheckedRadioButtonId();

//display the String based on the Radio Button ID
switch (btnID) {
case R.id.radio_hi:
if (checked) { display("hi"); }
break;
case R.id.radio_bus:
if (checked) { display("bus"); }
break;
case R.id.radio_bathroom:
if (checked) { display("bathroom"); }
break;
case R.id.radio_beer:
if (checked) { display("beer"); }
break;
case R.id.radio_cost:
if (checked) { display("cost"); }
break;
default:
display("no button clicked");
}
}

基本上它只是使用当前检查的 radio btn ID 来确定应该在 TextView 中打印什么。

看看getCheckedRadioButtonId这个函数可能会解决你的问题。

同时删除单选按钮中的 onRadioButtonClicked 调用。

关于android - 单选按钮仅在单击按钮时发生 android studio,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31041992/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com