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

标签 java android

我有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/

相关文章:

java - 从字符串中获取值

Java:通过 HashMap<T, Integer> 以特殊顺序搜索值

java - 如何在 LibGdx 核心中使用 Android 方法

java - 使用 git 开发具有相同核心的跨平台 Java 应用程序的最佳方法是什么?

php - Stu MYSQL AND PHP 中的完整专栏内容

java - 具有缩放、触摸滑动等功能的 Android 图片库 View 的来源

android - 使用标签在方法之间传递数据

java - 通过数组访问数组元素是否比通过函数获取它们更有效?

java - JAVA 中的简单应用程序执行记录和互联网控制?

java - 微调器显示黑色