Java 我在使用单选按钮显示Android政治联系应用程序时遇到问题
以下是我的应用程序的屏幕截图: 当我点击我的“点击我按钮”并选择我的六个政治派别中的一个,说“自由派”,它将显示“自由派”。我想让它做的是,当我选择“liberal”时,我不想让它显示单词“liberal”,我想让它显示liberal的定义,我称之为“liberal description”,并将其保存在我的字符串xml文件中 以下是我在Android Studio的Java 我在使用单选按钮显示Android政治联系应用程序时遇到问题,java,android,radio-button,Java,Android,Radio Button,以下是我的应用程序的屏幕截图: 当我点击我的“点击我按钮”并选择我的六个政治派别中的一个,说“自由派”,它将显示“自由派”。我想让它做的是,当我选择“liberal”时,我不想让它显示单词“liberal”,我想让它显示liberal的定义,我称之为“liberal description”,并将其保存在我的字符串xml文件中 以下是我在Android Studio的MainActivity部分使用Java编写的内容: package myactivity.magadistudio.com.p
MainActivity
部分使用Java编写的内容:
package myactivity.magadistudio.com.politicalaffiliationapp;
import android.os.Bundle;
import android.support.design.widget.FloatingActionButton;
import android.support.design.widget.Snackbar;
import android.support.v7.app.AppCompatActivity;
import android.support.v7.widget.Toolbar;
import android.view.View;
import android.view.Menu;
import android.view.MenuItem;
import android.widget.Button;
import android.widget.RadioButton;
import android.widget.RadioGroup;
import android.widget.TextView;
public class MainActivity extends AppCompatActivity {
private Button showButton;
private RadioGroup radioGroup;
private TextView showChoiceTextView;
private RadioButton radioChoiceButton;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
//set up TextView
showChoiceTextView=(TextView)findViewById(R.id.showTextView);
//set up RadioGroup
radioGroup=(RadioGroup) findViewById(R.id.radioGroupId);
//set up Button
showButton=(Button) findViewById(R.id.showChoiceButton);
showButton.setOnClickListener(new View.OnClickListener(){
@Override
public void onClick(View v) {
int selectedOption=radioGroup.getCheckedRadioButtonId();
radioChoiceButton=(RadioButton) findViewById(selectedOption);
String displayText;
switch(selectedOption) {
case R.id.RadioButtonLiberal:
displayText =getResources().getString(R.string.liberal_description);
break;
case R.id.RadioButtonPaleoCon:
displayText=getResources().getString(R.string.paleoconservative_description);
break;
//OTHER CASES
}
showChoiceTextView.setText(displayText);
showChoiceTextView.setText(radioChoiceButton.getText());
}
});
}
另外,当我试图重写代码并再次运行它时,我在包含showcooicetextview.setText(displayText)的行上得到一个错误代码>其中表示显示文本
尚未初始化。这是我唯一的错误。我做错了什么?试试这个:
String displayText = null;
或
或
如果您的开关语句
与任何选择的选项
不匹配,则您的显示文本
未初始化。
您的编译器可以识别这一点,并给您一个很好的提示
我很确定您忘记了开关
中的默认
部分。添加default
部分总是一种好的样式
此外:删除这一行showcooicetextview.setText(radioChoiceButton.getText())代码>尝试以下操作:
String displayText = null;
或
或
如果您的开关语句
与任何选择的选项
不匹配,则您的显示文本
未初始化。
您的编译器可以识别这一点,并给您一个很好的提示
我很确定您忘记了开关
中的默认
部分。添加default
部分总是一种好的样式
此外:删除这一行showcooicetextview.setText(radioChoiceButton.getText())代码>我运行了我的程序,它没有产生任何错误,但当我单击“单击我!”按钮时,它仍然没有显示我想要的文本。例如,当我选择自由选项时,它不应该显示“自由”,而是显示自由描述字符串名称中的内容,当我单击“click on me!”按钮时,该名称保存在res/strings/val xml节中。您可以使用以下行覆盖edittext值:showChoiceTextView.settText(radioChoiceButton.getText());我没有跟踪你。你说覆盖我的edittext值是什么意思?我应该去掉“showChoiceTextView.setText(radioChoiceButton.getText());”@Jane Poe很高兴帮助你。点击我答案左上角的白色钩子即可接受我的答案……我运行了我的程序,它没有产生任何错误,但当我点击“点击我!”按钮时,它仍然没有显示我想要的文本。例如,当我选择自由选项时,它不应该显示“自由”但是,当我单击“click on me!”按钮时,以保存在res/strings/val xml节中的描述字符串名称显示内容。您可以使用以下行覆盖edittext值:showChoiceTextView.setText(radioChoiceButton.getText());我不明白你的意思。你说覆盖我的edittext值是什么意思?我是否应该摆脱“showChoiceTextView.setText(radioChoiceButton.getText());”@Jane Poe很高兴帮助你。点击我答案左上角的白钩,就可以接受我的答案了。。。
switch(selectedOption) {
case R.id.RadioButtonLiberal:
displayText =getResources().getString(R.string.liberal_description);
break;
case R.id.RadioButtonPaleoCon:
displayText=getResources().getString(R.string.paleoconservative_description);
break;
default:
displayText = "";
//OTHER CASES
}