当前位置: 首页 > 知识库问答 >
问题:

无法从内部类 [重复] 获取数据

乐正育
2023-03-14

我有一个内部类,它在我的主类中扩展了异步任务

public class MainActivity extends Activity {
String variable;
public onCreate(){

    onClickListener{
    new InnerClass().execute(params);
    variable // Here the value is always null
    }
}

class InnerClass extends AsyncTask<String,Void,JSONObject>{
    protected JSONObject doInBackground(String... params){
        /* Relevant Code 
        */
    }

    protected void onPostExecute(JSONObject result){
    variable = value; // required value being assigned to the variable
    }

}
}

我在内部类中获得了分配给我的字符串变量“变量”的正确值,但我无法访问我的主类中的值。

共有3个答案

潘兴朝
2023-03-14

创建内部类对象,例如。

InnerClass inner=new InnerClass();
String name=inner.name;

就是这样。

仰翔
2023-03-14

您使用异步任务,它会创建线程供您执行代码。你的变量为空,因为你的线程没有完成他的任务。

司徒兴德
2023-03-14
new InnerClass().execute(params);
variable // Here the value is always null

您调用了< code>execute,但主线程仍在继续,因此变量仍为null,因为< code > async task . onpost execute 仍未被调用。

 类似资料:
  • 我正在尝试从URL读取html文件。我的代码可以与大多数站点工作,除了一些站点,比如http://dota2.gamepedia.com/dota_2_wiki。我猜我需要设置java代理什么的?... 错误代码403:我如何访问它?顺便说一句,它可以在浏览器中正常工作

  • 我有这段代码: 但我在解析时出现了这个错误:

  • 我正在React中的useEffect()内尝试从axios获取数据。我测试了后端,它工作正常,但在前端,我得到了一个错误401(未经授权) 反应代码: 后端代码: 服务器.js 项目路线.js 我得到的错误是: 如果有人能帮我找出错误,我会很高兴的

  • 我一直在尝试获取

  • 我正在努力在Python中做一个实时货币转换器。我已经成功地将URL所需的所有数据提取到Python中。但是,我现在尝试在URL中调用特定字符串。这是我当前的代码: 如您所见,我已经打印了它获取的所有数据,但它现在正在从中打印特定的字符串。 我的问题是,如何从URL解析特定字符串?我听说过json.load,这是我应该使用的东西吗?

  • 这是我打印日志时的JSON结果。我无法从这个结果中获得数据。请建议如何从这个结果中获得数据。错误显示of类型org.json.jsonArray不能转换为JSONObject,我知道已经有很多文章与此相关,但我不明白如何获取数据。