我的目的是使用json解析中的String设置标题。
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_post);
getSupportActionBar().setTitle(title);}
它正在工作......但是......在这种情况下..
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_post);
int target_id=getIntent().getIntExtra("id",1);
Postview("my name","my mail",target_id,this);}
private void Postview(final String name, final String email,final int target_id,final Context context) {
StringRequest strReq = new StringRequest(Request.Method.GET,
Config.URL_POST_VIEW+"/"+target_id, new Response.Listener<String>() {
@Override
public void onResponse(String response) {
try {
JSONObject jObj = new JSONObject(response);
boolean error = jObj.getBoolean("error");
if (!error) {
getSupportActionBar().setTitle(jObj.getString("title"));
} else {
}
} catch (JSONException e) {
// JSON error
}
}
}, new Response.ErrorListener() {
@Override
public void onErrorResponse(VolleyError error) {
}
});
}
我删除了其他不重要的代码......
json解析没有问题。
除了setTitle ......
之外,一切运作良好答案 0 :(得分:1)
您正在尝试更新不允许的后台线程上的UI(工具栏倾斜)。您只能在UI线程上更新用户界面。
提示:
如果您可以将崩溃报告添加到您的问题中,那么这将有助于每个人快速提供正确的建议。
答案 1 :(得分:0)
如果您使用Library作为ActionBar,请使用
getSupportActionBar().setTitle(jObj.getString("title"));
如果你不使用
getActionBar().setTitle(jObj.getString("title"));