如何等待TextView中的特定字符串继续进行下一个方法



我刚开始学习,所以请宽容。

我想不断检查我的文本视图是否等于" tata",然后是dostuff(),但无法弄清楚如何做...

protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    requestWindowFeature(Window.FEATURE_NO_TITLE);
    getWindow().setFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN,
            WindowManager.LayoutParams.FLAG_FULLSCREEN);

    setContentView(R.layout.activity_new_game);

    final Button button1 = (Button) findViewById(R.id.button1);
    final Button button2 = (Button) findViewById(R.id.button2);
    final Button button3 = (Button) findViewById(R.id.button3);
    final TextView tv = (TextView) findViewById(R.id.editText2);

    // SyllableButtonListener appends TextView only if 
    // button.getText().equals("ta")

    button1.setOnClickListener(new SyllableButtonListener(tv, "ta", button1));
    button2.setOnClickListener(new SyllableButtonListener(tv, "ta", button2));
    button3.setOnClickListener(new SyllableButtonListener(tv, "ta", button3));
    // how to do it: ???
    // if(tv.getText.equals("tata")){ doStuff() }

}

任何类型的循环都无法使用。我已经尝试了线程,但是运行不佳;)

向您的EditText

添加TextChangedListener
//considering it as a EditText instead of Textview since you would know when textView text changes to "tata"

新代码

final EditText editText = (EditText) findViewById(R.id.editText2);
editText.addTextChangedListener(new TextWatcher() {
        @Override
        public void onTextChanged(CharSequence s, int start, int before, int count) {
        }
        @Override
        public void beforeTextChanged(CharSequence s, int start, int count,
                int after) {
        }
        @Override
        public void afterTextChanged(Editable s) {
          if(s.toString().equals("tata")) {
             //do stuff
          }
        }
    });

根据您的帖子,您的文本视图经常更改文本。当时按下按钮获取文本视图实例并检查您的文本。您必须实现OnClick(视图V)方法。

public void onClick(View v){
   //here v is the button view.
   //you have to use the textview instance which you have already created in onCreate method
    if(textView.getText().equals("YourText"){
      //do your stuff
     }
}

您需要che id" tata"字符串包含在textView中您可以尝试:

teextView.getText().contains("tata")

相关内容

最新更新