Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/393.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/185.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 如何从onPostExecute()到onCreate获取值_Java_Android_Android Asynctask - Fatal编程技术网

Java 如何从onPostExecute()到onCreate获取值

Java 如何从onPostExecute()到onCreate获取值,java,android,android-asynctask,Java,Android,Android Asynctask,我声明一个全局变量BigCLat和BigCLng,如下所示: 公共静态字符串BigCLat; 公共静态字符串BigCLng 并更新onPostExecute中的值 当我尝试在这个方法中设置text时,它会得到正确的值。但是,它在onCreate中不是update和null 解释: 我需要为我的全局变量(BigCLat,BigCLng)设置一个值,但在调用onCreate时它不会更新 谢谢你的回答 这是我的onPostExecute public void onPostExecute(Strin

我声明一个全局变量BigCLat和BigCLng,如下所示:

公共静态字符串BigCLat; 公共静态字符串BigCLng

并更新onPostExecute中的值

当我尝试在这个方法中设置text时,它会得到正确的值。但是,它在onCreate中不是update和null

解释:

我需要为我的全局变量(BigCLat,BigCLng)设置一个值,但在调用onCreate时它不会更新

谢谢你的回答

这是我的onPostExecute

public void onPostExecute(String result1) {

        BPlace_data = new ArrayList<>();

        try {
            JSONObject jsonRoot = new JSONObject(result1);
            JSONArray jArray = jsonRoot.getJSONArray("results");

            for (int i = 0; i < jArray.length(); i++) {
                JSONObject json_data = jArray.getJSONObject(i);
                NearbyPlace nearbyPlace = new NearbyPlace();
                nearbyPlace.place_name = json_data.getString("name");
                nearbyPlace.vicinity = json_data.getString("vicinity");
                nearbyPlace.lat = json_data.getJSONObject("geometry").getJSONObject("location").getString("lat");
                nearbyPlace.lng = json_data.getJSONObject("geometry").getJSONObject("location").getString("lng");
                nearbyPlace.reference = json_data.getString("reference");

                BPlace_data.add(nearbyPlace);
            }

            BigCLat = BPlace_data.get(0).lat;
            BigCLng = BPlace_data.get(0).lng;

            TextView BigCLa = (TextView) findViewById(R.id.textView4);
            BigCLa.setText(BigCLat);

        } catch (JSONException e) {
            Log.d("Exception", e.toString());
        }

    }
public void onPostExecute(字符串结果1){
BPlace_data=new ArrayList();
试一试{
JSONObject jsonRoot=新的JSONObject(结果1);
JSONArray jArray=jsonRoot.getJSONArray(“结果”);
for(int i=0;i
尝试以下步骤

一,。将以下行放在onCreate()中

二,。使BigCLa全球化

三,。从onPostExecute()中删除以下行

四,。保持所有其他东西原样


现在构建代码并检查屏幕上的更新值。

设置
Textview BigCLa作为全局代码并使用
BigCLa=(TextView)findViewById(R.id.textView4)
内部
OnCreate
方法。
onPostExecute
方法中的
BigCla
值更新为
BigCla.setText(BigCLat)

哦!我得到更新的值。但我想在onCreate上更新BigCLat、BigCLng和setText。@user3712289但我想在onCreate上更新BigCLat、BigCLng和setText吗?请解释。我需要为我的全局变量(BigCLat,BigCLng)设置一个值,但在调用onCreate时它不会更新。@user3712289您不能在onCreate()中访问此值,因为onPostExecute()调用的时间晚于onCreate()@user3712289为什么要在onCreate()中访问这些变量?有什么具体要求吗?
BigCLa = (TextView) findViewById(R.id.textView4);
TextView BigCLa = (TextView) findViewById(R.id.textView4);