所以我有一个名为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/