我必须实现一个类的返回方法。因此,结构很简单,只要Android:等待按钮点击
public boolean yesNo(String message){
//return something
}
这里的问题是,有一个EditText对象和一个按钮,我想回报取决于由EditText上用户输入的答案一个布尔值。所以很自然地,我必须等待用户写完后点击按钮。我已经尝试在方法内部设置onClicklistener,但之后我无法将任何内容传递给外部方法。
我知道在android中一切都是异步的,所以我不应该等待用户做些什么,但在这种情况下,我没有其他的想法。此外,我正在实施的方法是Jsch库的UserInfo类。从我所了解的这个UserInfo是为用户交互而设计的,所以我想它会以某种方式通过调用yesNo方法来“提示”用户,然后“等待”用户作出反应。有任何想法吗?如果有人向我解释我的逻辑是否有错误,我也会很高兴。我对使用AsynTask或runnables不太有信心,但我认为它与此有关。
The only available documentation of UserInfo class
非常感谢!
编辑:到目前为止的代码:
public static class MyUserInfo implements UserInfo, UIKeyboardInteractive {
public Button goButton = (Button) MainActivity.contentView.findViewById(R.id.startSSH);
public EditText editText = (EditText) MainActivity.contentView.findViewById(R.id.commandSSH);
public boolean yesNo = false;
public boolean promptYesNo(String str) {
goButton.setOnClickListener(new View.OnClickListener(){
public void onClick(View v){
String answer = editText.getText().toString();
if(answer.equals("yes")){yesNo = true;}
else {yesNo = false;}
}
});
return yesNo;
}
}
了我所是设置在OnClickListeners的onClick方法中的类的字符串这就是公众,但随后告诉我,该字符串必须是最后的。但是,当它的最后我不能改变它。这就是为什么它不适用于onClicklistener。但也许我错过了一些东西。任何想法? – Suppenkasper
请发表您的代码 –
Ahh my bad。我在YesNo方法中声明了String。 – Suppenkasper