伙计我试图设置Textview
但它没有改变,数据库中的值就在那里。我希望有人可以提供帮助
这里是java代码
public class Announcement_Details extends AppCompatActivity{
private static final String GET_URL = "http://XXX";
private ProgressDialog pDialog;
TextView id,title,content,date;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_lv_view);
id = (TextView)findViewById(R.id.tv_id);
title = (TextView)findViewById(R.id.tv_title);
content = (TextView)findViewById(R.id.tv_content);
date = (TextView)findViewById(R.id.tv_date);
getAnnouncementDetails();
}
@Override
public boolean onCreateOptionsMenu(Menu menu) {
// Inflate the menu; this adds items to the action bar if it is present.
getMenuInflater().inflate(R.menu.menu_main, menu);
return true;
}
@Override
public boolean onOptionsItemSelected(MenuItem item) {
// Handle action bar item clicks here. The action bar will
// automatically handle clicks on the Home/Up button, so long
// as you specify a parent activity in AndroidManifest.xml.
int id = item.getItemId();
//noinspection SimplifiableIfStatement
if (id == R.id.refresh) {
return true;
}
return super.onOptionsItemSelected(item);
}
private void getAnnouncementDetails() {
StringRequest postRequest = new StringRequest(Request.Method.POST, GET_URL,
new Response.Listener<String>() {
@Override
public void onResponse(String response) {
try {
JSONObject jsonResponse = new JSONObject(response);
JSONArray data = jsonResponse.getJSONArray("announcement_data");
Log.d("Announcement Data", ""+data);
id.setText(data.getString(0));
title.setText(data.getString(1));
content.setText(data.getString(2));
date.setText(data.getString(3));
}catch (Exception e) {
e.printStackTrace();
}
pDialog.dismiss();
}
},
new Response.ErrorListener() {
@Override
public void onErrorResponse(VolleyError error) {
error.printStackTrace();
}
}
) {
@Override
protected Map<String, String> getParams() {
Map<String, String> params = new HashMap<>();
// the POST parameters:
params.put("id", getIntent().getStringExtra("id"));
return params;
}
};
pDialog = new ProgressDialog(Announcement_Details.this);
pDialog.setMessage("Getting Announcements Details.");
pDialog.show();
Volley.newRequestQueue(getApplication()).add(postRequest);
}
}
这里是logcat
的值02-05 01:28:35.861 4004-4004/com.example.wackyroad.internannouncement D/Announcement Data﹕ [{"announcement_title":"Sample Title Here","announcement_content":"Sample Content","announcement_date":"2016-02-04"}]
答案 0 :(得分:2)
我认为你没有正确的解析数据,试试这个片段会有所帮助
title.setText(data.getJSONObject(0).getString("announcement_title"));
content.setText(data.getJSONObject(0).getString("announcement_content"));
date.setText(data.getJSONObject(0).getString("announcement_date"));
答案 1 :(得分:1)
解析数据时出错 - 请看这个 -
@Html.DropDownList("ddl_SearchBy", new List<SelectListItem>
{
new SelectListItem{Text="PA Number",Value="PA"},
new SelectListItem{Text="Customer Code" ,Value="CustCode"},
new SelectListItem{Text="Customer Name" ,Value="CustName"},
new SelectListItem{Text="Order Type" ,Value="OrderType"},
new SelectListItem{Text="Discount Type" ,Value="DiscType"},
new SelectListItem{Text="EIC", Value="EIC"},
new SelectListItem{Text="Status", Value="status"}
}, "-Select Criteria-", new { @class = "form-control", @id = "ddl_SearchBy" }
@Html.DropDownList("ddl_OrderType", Model.lstOrderType, "-Select Order Type-", new { @class = "form-control", @id = "ddlOrderType"})
@Html.DropDownList("ddl_Status", Model.lstStatus, "-Select Status-", new { @class = "form-control", @style = "display:none", @id = "ddl_Status" })
以下是解析数据的非常重要的链接 - LINK
答案 2 :(得分:1)
[{"announcement_title":"Sample Title Here", // 0 pos
"announcement_content":"Sample Content", // 1 pos
"announcement_date":"2016-02-04"}] // 2 pos
您的json数组大小为3,但您正在检索4个项目。
id.setText(data.getString(0));
title.setText(data.getString(1));
content.setText(data.getString(2));
date.setText(data.getString(3)); //remove this one
让我知道这是否有效。
答案 3 :(得分:1)
您的Json数据中没有Id。
从JsonArray中解析给定响应的数据并从数组中获取JsonObject。然后解析JsonObject中的细节。
title.setText(title);
content.setText(content);
date.setText(date);
将json数据设置为TextView:
{{1}}
答案 4 :(得分:0)
您的json数据如下所示: -
[{“announcement_title”:“Sample Title Here”,“announcement_content”:“Sample Content”,“announcement_date”:“2016-02-04”}]
您的Json数据中没有ID: -
//注释Id settext此行,因为您的Json数据中没有Id
// id.setText(data.getString(0));
因此,您必须在代码中更改索引值,如下所示: -
title.setText(data.getString(0));
content.setText(data.getString(1));
date.setText(data.getString(2));