Java 运行活动两次(而不是一次)以从getter获取值
当点击一个图像(来自上一个活动)时,我进入这个活动(在这里我传递clientid),它读取JSONArray并使用setter设置缺口 然后我使用一个getter来执行textview setText 问题是,第一次没有设置尼克。当我返回到上一个活动并再次点击相同的图像时,只会设置刻痕。 为什么尼克不是第一次出现的呢 (附言:我对Java/Android Studio很陌生)Java 运行活动两次(而不是一次)以从getter获取值,java,android,textview,setter,Java,Android,Textview,Setter,当点击一个图像(来自上一个活动)时,我进入这个活动(在这里我传递clientid),它读取JSONArray并使用setter设置缺口 然后我使用一个getter来执行textview setText 问题是,第一次没有设置尼克。当我返回到上一个活动并再次点击相同的图像时,只会设置刻痕。 为什么尼克不是第一次出现的呢 (附言:我对Java/Android Studio很陌生) package com.smartvibes.smartbeat; 导入android.support.v7.app.A
package com.smartvibes.smartbeat;
导入android.support.v7.app.AppActivity;
导入android.os.Bundle;
导入android.widget.TextView;
导入com.android.volley.Request;
导入com.android.volley.RequestQueue;
导入com.android.volley.Response;
导入com.android.volley.VolleyError;
导入com.android.volley.toolbox.JsonObjectRequest;
导入com.android.volley.toolbox.volley;
导入org.json.JSONException;
导入org.json.JSONObject;
公共类profileViewActivity扩展了AppCompatActivity{
请求者;
字符串url、id、nick、年龄、城市、mainpic、numpics、extrapic0、extrapic1、extrapic2、extrapic3、extrapic4、extrapic5;
文本视图简介;
静态字符串pnick;
@凌驾
创建时受保护的void(Bundle savedInstanceState){
super.onCreate(savedInstanceState);
setContentView(R.layout.activity\u profile\u视图);
Bundle getProfileId=getIntent().getExtras();
if(getProfileId==null){
回来
}
String profileid=getProfileId.getString(“profileid”);
url=”https://www.smartvibes.be/profiles/api/profileview.php?id=“+profileid;
rs=Volley.newRequestQueue(this);
sendjsonrequest();
profileIntro=(TextView)findViewById(R.id.profileIntro);
profileIntro.setText(getPnick());
}
public void sendjsonrequest(){
JsonObjectRequest JsonObjectRequest=新的JsonObjectRequest(Request.Method.GET,url,null,new Response.Listener()){
@凌驾
公共void onResponse(JSONObject响应){
试一试{
setPnick(response.getString(“nick”));
}捕获(JSONException e){
e、 printStackTrace();
}
}
},new Response.ErrorListener(){
@凌驾
公共无效onErrorResponse(截击错误){
}
});
rs.add(jsonObjectRequest);
}
公共静态void setPnick(字符串缺口){
pnick=nick;
}
公共静态字符串getPnick(){
返回pnick;
}
}
因为sendjsonrequest
是一个异步调用
您需要在onResponse
方法本身中更新textView,如下所示
setPnick(response.getString("nick"));
profileIntro.setText(getPnick());
setPnick(response.getString("nick"));
profileIntro.setText(getPnick());