Java 我在使用单选按钮显示Android政治联系应用程序时遇到问题

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

以下是我的应用程序的屏幕截图:

当我点击我的“点击我按钮”并选择我的六个政治派别中的一个,说“自由派”,它将显示“自由派”。我想让它做的是,当我选择“liberal”时,我不想让它显示单词“liberal”,我想让它显示liberal的定义,我称之为“liberal description”,并将其保存在我的字符串xml文件中

以下是我在Android Studio的
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

        }