我在我的Main Activity.java
文件中有这个代码,但是当在编辑文本中键入任何值并按下按钮时,相关的字符串不会打印。如何使其在按下按钮时,根据在编辑文本槽中输入的字符串显示特定文本?
public void ShowAge(View view){
EditText entered = (EditText)findViewById(R.id.typehere);
TextView value = (TextView)findViewById(R.id.answer);
if(entered.getText().toString() == "Dog"){
value.setText(R.string.dog);
Typeface typeFace = Typeface.createFromAsset(getAssets(), "font.ttf");
value.setTypeface(typeFace);}
else if(entered.getText().toString() == "Cat"){
value.setText(R.string.cat);
Typeface typeFace = Typeface.createFromAsset(getAssets(), "font.ttf");
value.setTypeface(typeFace);}
else if(entered.getText().toString() == "Meal"){
value.setText(R.string.meal);
Typeface typeFace = Typeface.createFromAsset(getAssets(), "font.ttf");
value.setTypeface(typeFace);}
else if(entered.getText().toString() == "Chocolate"){
value.setText(R.string.chocolate);
Typeface typeFace = Typeface.createFromAsset(getAssets(), "font.ttf");
value.setTypeface(typeFace);}
else if(entered.getText().toString() == "Froyo"){
value.setText(R.string.froyo);
Typeface typeFace = Typeface.createFromAsset(getAssets(), "font.ttf");
value.setTypeface(typeFace);}
}
就像上面的答案一样,如果你想比较不区分大小写,你应该使用String.equals()或String.equalsIgnoreCase()。
同时考虑使用TexWATTHER监控您的编辑文本中输入的文本:
前任:
...
@Override
public void afterTextChanged(Editable s){
if (s == null || TextUtils.isEmpty(s.toString().trim())) {
return;
}
String enteredText = s.toString();
if(TextUtils.isEmpty(enteredText)){
return;
}
int resString = -1;
String font = "font.ttf";
if(enteredText.equals("Dog")){
resString = R.string.dog;
}
else if(enteredText.equals("Cat")){
resString = R.string.cat;
}
else if(enteredText.equals("Meal")){
resString = R.string.meal;
}
else if(enteredText.equals("Chocolate")){
resString = R.string.chocolate;
}
else if(enteredText..equals("Froyo")){
resString = R.string.froyo;
}
if(resString>0){
Typeface typeFace = Typeface.createFromAsset(getAssets(), font);
value.setText(R.string.froyo);
value.setTypeface(typeFace);
}
}
...
你应该使用String.equals()来比较字符串。这将比较字符串中的字符。equals运算符(=
)比较内存位置,这是不同的。
使用
entered.getText().toString().equals("Some String") {...
而不是
entered.getText().toString() == "Some String" {...
总是当你比较字符串。
我想将文本从软键盘输入到popupwindow中的Edittext小部件,但我遇到了一些问题。我的活动是一个游戏卡桌,并在上面启用一些动画。在游戏表中,有一些按钮。如果玩家点击某个按钮,将显示一个弹出窗口。问题是播放器无法在弹出窗口中输入文本到Edittext。我发现了一些类似的问题,最流行的建议是: 使用此设置,我可以正常输入Edittext。但是,这将阻止主UI线程并导致停止游戏表中的动画。我
我正在开发一个Android聊天应用程序。一切运作良好,但除了一件事;我想设置一个布局的可见性消失,然后设置一个不同的布局可见时,用户开始输入编辑文本,就像在WhatsApp上实现的。但是我似乎想不明白。任何帮助都将不胜感激 基本上,我想做的是设置一个布局的可见性,该布局包含一个图像按钮,用于将图像上载到gone,然后显示一个布局,该布局包含一个图像按钮,用于在用户开始键入时将edittext中的
我一直有一些来自EditText的奇怪行为的问题。setSelect,我希望你们都能帮忙! 我正在开发的应用程序有一个搜索字段,需要让它的行为非常类似于浏览器的搜索栏。例如,如果用户键入“fo ”,我们希望EditText自动完成“foobar ”,并突出显示自动完成的“obar”文本,以便在自动完成的文本与用户想要键入的内容不匹配时,用户可以很容易地替换它。 为了实现这一点,我设置了一个带有Te
我想在用户在EditText中键入文本时将文本放入我的应用程序中的某个字符串中,并使用它来生动地在活动上显示它(在不同的视图中...) - 就像谷歌的实时/即时搜索工作一样...
我已经试着解决了好几个小时了,但还是没能解决。我设置了这个editText,称为活动上的布局,并将其连接到活动上的变量,当您单击字段时,它会打开可视键盘,但当您按下一个键时,它会将您带到类似浏览器的搜索屏幕,而不只是更新editText的文本。 在我的xml编辑文本是: 在我这样做的活动中 我还是找不到办法让它不发生。你能帮助我吗?
我是一个机器人初学者。我陷入了一个问题。我有三,我需要对它们进行验证。当我进行验证时,即使我在运行应用程序时没有输入任何值,EditText 也有一个值。为了检查哪个值是否存在,我使用 打印了这些值。 这是打印在日志中 这些价值观从何而来?请帮我解决这个问题。 提前感谢:)