EditText的getText()方法

时间:2014-10-02 13:31:21

标签: java android

我遇到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;
}}

2 个答案:

答案 0 :(得分:0)

而不是==" 9"使用方法:

a.equals("9")

你还有一些事情可以忽略案例

a.equalsIgnoreCase("9")

答案 1 :(得分:0)

使用字符串时,如果编写a=="9",则比较引用。这意味着a指向的字符串是由"9"指向的相同字符串'即a"9"存储在内存中的相同位置。

在这里,您要比较字符串的内容,以便使用equals方法。

if("9".equals(a)){
    // do something
}