java - 如何在 Android 中使用带有 if-else 语句的 boolean 值显示我的 TextView?

标签 java android

所以我有一个名为displayAnswer的TextView;我在 setOnClickListener 按钮函数上将其设置为 false。我的 if else 语句应该检查用户输入的内容是否是回文。如果是,它应该显示文本,但由于某种原因,它说它已分配但从未访问过。对于 Android Studio 来说还是个新手,任何正面或负面的反馈都会有所帮助。我还在应该打印的内容的注释中留下了 Java 代码。

public class MainActivity extends AppCompatActivity {

EditText userEntry;
Button checkPalindrome;
TextView displayAnswer;


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

    userEntry = findViewById(R.id.edit_demo);
    checkPalindrome = findViewById(R.id.button_demo);
    displayAnswer = findViewById(R.id.guess);

    checkPalindrome.setOnClickListener(new View.OnClickListener() {
        @Override
        public void onClick(View v) {
            String userEntry, reverse = ""; // Objects of String class
            boolean displayAnswer = false;
            Scanner in = new Scanner(System.in);

   //System.out.println("Enter a string to check if it is a palindrome");

            userEntry = in.nextLine();
            int length = userEntry.length();

            for (int i = length - 1; i >= 0; i--)
                reverse = reverse + userEntry.charAt(i);

            if (userEntry.equals(reverse)){
                displayAnswer = true;}
                //System.out.println("The string is a palindrome.");
            else{
                displayAnswer = false;}
                //System.out.println("The string isn't a palindrome.");

        }
    });
}
}

最佳答案

试试这个,

public class MainActivity extends AppCompatActivity {

EditText userEntry;
Button checkPalindrome;
TextView displayAnswer;

@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_main);
    userEntry = findViewById(R.id.edit_demo);
    checkPalindrome = findViewById(R.id.button_demo);
    displayAnswer = findViewById(R.id.guess);

    checkPalindrome.setOnClickListener(new View.OnClickListener() {
        @Override
        public void onClick(View v) {
            String reverse,stringUserEntry = ""; // Objects of String class
            boolean displayAnswerBool = false;
            stringUserEntry= userEntry.getText().toString();
            reverse=new StringBuilder(stringUserEntry).reverse().toString();

            if (stringUserEntry.equals(reverse)){
                displayAnswerBool = true;
                displayAnswer.setText("this is a palindrome");
            }
            //System.out.println("The string is a palindrome.");
            else{
                displayAnswerBool = false;
                displayAnswer.setText("this is not a palindrome");}
            //System.out.println("The string isn't a palindrome.");

        }
    });

}
}

我想这就是你想要的。

关于java - 如何在 Android 中使用带有 if-else 语句的 boolean 值显示我的 TextView?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54136344/

相关文章:

android - 平滑滚动到位置而无需每次都下载所有项目

android - 在点击通知之前打开 Parse 推送通知

android 更改 TextView (这段代码可以吗?)

java - 如何关闭 Icefaces 日志记录?

android - Retrofit 2.0,请求 GET 到 .json 文件作为端点

java - Spring Boot 。无法使用 token 进行身份验证

java - 意外的 BigDecimal 结果。 1 除以 3 结果为 1。不确定为什么

java - 安卓:NullPointerException 错误

java - 相同的包,不同的目录

java - JPA-连接非实体类中的两个表