我遇到getText()
方法的问题。当我运行此应用程序并输入任何数字时,它也会显示vcx。我的if
声明无效或是什么?
public class Quadratic extends Fragment {
@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container,
Bundle savedInstanceState) {
View rootView = inflater.inflate(R.layout.fragment_quadratic, container, false);
// layout
Button calc = (Button)rootView.findViewById(R.id.calcbtn); //main button
final EditText etfx2 = (EditText)rootView.findViewById(R.id.etfx2); // x^2 etf
final TextView tbefs = (TextView)rootView.findViewById(R.id.tbefs);
calc.setOnClickListener(new View.OnClickListener()
{
public void onClick (View v){
String a= etfx2.getText().toString();
if(a=="9")
{
tbefs.setText("asd");}
else
{
tbefs.setText("vcx");
}
}
});
return rootView;
}}
答案 0 :(得分:0)
而不是==" 9"使用方法:
a.equals("9")
你还有一些事情可以忽略案例
a.equalsIgnoreCase("9")
答案 1 :(得分:0)
使用字符串时,如果编写a=="9"
,则比较引用。这意味着a
指向的字符串是由"9"
指向的相同字符串'即a
和"9"
存储在内存中的相同位置。
在这里,您要比较字符串的内容,以便使用equals
方法。
if("9".equals(a)){
// do something
}