gpt4 book ai didi

java - Basic Java - 一个内部(嵌套?)类可以访问另一个吗?

转载 作者:行者123 更新时间:2023-11-29 08:05:20 24 4
gpt4 key购买 nike

我认为这是一个基本的 Java 问题:

这是一个 Android 项目。我有这个设置:

 public class MyFragmentActivity extends FragmentActivity implements
ActionBar.TabListener {

// lots of code edited out


public static class RateFragment extends Fragment {

// lots of code edited out

class InsertTask extends AsyncTask<String, String, Void> {

protected void onPostExecute(Void v) { {

// I need to access ReviewTask here
new ReviewTask().execute();

}

}


}

public static class ReviewFragment extendsListFragment {

class ReviewTask extends AsyncTask<String, String, Void> {

// code

}


}


}

我真的是在问一个基本的 Java 问题。我知道这不是 Android 中最好的方法。

如果您一定知道我在做什么:(如果这令人困惑,则此信息的优先级较低,仅用于某些上下文)当在 RateFragment 中按下按钮并将数据插入 MySQL 数据库时,我会调用 InsertTask。这就是我想在上面的代码中做的:在 InsertTask 中,最后,在另一个内部类中调用 ReviewTask。这将更新 ListView (在另一个选项卡中)。

可以从 InsertTask 到达 ReviewTask 吗?

最佳答案

我觉得你做不到。我刚刚试了一下。不过,您可以执行以下操作...在 InsertTask 的 postExecute() 方法调用的 fragment 内有一个方法。在此 fragment 方法中,您可以创建一个新的 ReviewTask 并触发该任务。这样,您的内部类只与您的父类对话,父类充当调用之间的委托(delegate)。

编辑:

public class MyFragment extends FragmentActivity {

private void delegateMethod(Object result) {
TaskB b = new TaskB();
b.doanotherthing(result);
}

class TaskA {
...
public void onPostExecute() {
Object result = new Object();
delegateMethod(result);
}
}

class TaskB {
public void doanotherthing(Object o) {
...
}
}
}

关于java - Basic Java - 一个内部(嵌套?)类可以访问另一个吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11661535/

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