java - Android:WAITING按钮点击

标签 java android user-interface asynchronous jsch

我必须实现一个类的返回方法。所以结构很简单

public boolean yesNo(String message){
    //return something
}

这里的问题是有一个 EditText 对象和一个 Button,我想根据用户在 EditText 中输入的答案返回一个 boolean 值。因此,我很自然地必须等待用户编写并在完成后单击按钮。我已经尝试在方法内设置 onClicklistener,但随后我将无法将任何内容传递给外部方法。

我知道在android中一切都是异步的,所以我不应该等待用户做某事,但在这种情况下我没有其他想法。另外仅供引用,我正在实现的方法是 Jsch 库的 UserInfo 类。据我了解,这个 UserInfo 是为用户交互而设计的,所以我认为它会以某种方式通过调用 yesNo 方法来管理“提示”用户,然后“等待”用户使用react。有任何想法吗?另外,如果有人向我解释我的逻辑是否有错误,我会很高兴。我对使用 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;
    }
}

最佳答案

当屏幕初始化时,例如在 onCreate 生命周期方法中,在 Button 上放置一个 OnClickListener。在监听器的 onClick 方法中,您可以使用 EditText 内容调用 yesNo 方法。

在屏幕的 onCreate 方法中尝试这种方式:

mButton = (Button)findViewById(R.id.my_button);
mEditText = (EditText) findViewById(R.id.my_edittext);

mButton.setOnClickListener(new View.OnClickListener() {
    @Override
    public void onClick(View view) {
        yesNo(mEditText.getText().toString());
    }
});

关于java - Android:WAITING按钮点击,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36646223/

相关文章:

java - Android JSON 与 REST

java - 读取类的方法并将 Web 服务的路径名存储在 arraylist 中

Android searchView 触发 onOptionsItemSelected

java - 公历 GUI - 问题

java - 在 jQuery 对话框中重新加载 Spring MVC 响应页面

java - 从 Java 中的列表中减去值

java - 谷歌 LVL(许可证验证库): is it possible to run the app on a device without Google Play?

android - 如何制作无法卸载的Android应用程序

java - 只有一个 Activity 的新 jframe

GIT GUI (Windows) - 从 Unstaged 移动到 Staged