gpt4 book ai didi

java在另一个类中编辑文本字段

转载 作者:行者123 更新时间:2023-11-30 03:08:39 26 4
gpt4 key购买 nike

我有A类和B类。A类在这里调用B类:

public void onClick(View v){
//respond to clicks
new MyTask().execute();

在这个新任务中,我做了一些网络垃圾,最后找到了一个我想传回给 A 类的字符串。

但是我好像做不到。我尝试做类似 classA.textfield.setText(text) 的操作,但没有用。而且看起来类也不能返回值。我已经看到一些标记为相似的东西,但我认为它们没有解决我的问题,即使它们解决了,我也不知道如何实现它们。我觉得这一定有一个 super 简单的方法来做到这一点,但我所看到的唯一表明声音甚至有点相似的是制作一个新版本的 A 类,但这听起来非常错误......

最佳答案

这就是 CallbackActionListener 编码模式显示其优势的地方。

在您的 MyTask 类中,在类声明之后添加:

public interface MyTaskActionListener{
public void didFinish(String result);
}

将成员添加到您的 MyTask 类:

private MyTaskActionListener listener;

现在,向 MyTask 添加方法 setActionListener:

public void setActionListener(MyTaskActionListener l){
listener = l;
}

接下来,在启动 MyTask 之前,设置监听器:

MyTask task = new MyTask();
task.setActionListener(new MyTaskActionListener(){
public void didFinish(String result){
yoirTextView.setText(result);
}
});

最后但同样重要的是,在 MyTask 的 onPostExecute 中调用 didFinish():

protected void onPostExecute(String result){
listener.didFinish(result);
}

关于java在另一个类中编辑文本字段,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21352488/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com