Java Android SetText不在TextVIew上工作,但该值存在

Java Android SetText不在TextVIew上工作,但该值存在,java,php,android,sql,Java,Php,Android,Sql,伙计们,我正试图设置文本视图,但它没有改变,数据库中的值就在那里。我希望有人能帮忙 下面是java代码 public class Announcement_Details extends AppCompatActivity{ private static final String GET_URL = "http://XXX"; private ProgressDialog pDialog; TextView id,title,content,date; @Ov

伙计们,我正试图设置
文本视图
,但它没有改变,数据库中的值就在那里。我希望有人能帮忙

下面是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);


    }
}

我认为你没有正确解析数据,试试这段代码会很有帮助

title.setText(data.getJSONObject(0).getString("announcement_title")); 
                      content.setText(data.getJSONObject(0).getString("announcement_content"));  
                     date.setText(data.getJSONObject(0).getString("announcement_date"));

我认为你没有正确解析数据,试试这段代码会很有帮助

title.setText(data.getJSONObject(0).getString("announcement_title")); 
                      content.setText(data.getJSONObject(0).getString("announcement_content"));  
                     date.setText(data.getJSONObject(0).getString("announcement_date"));
分析数据时出错- 请看这个-

title.setText(data.getJSONObject(0).getString("announcement_title"));//announcement_title
        content.setText(data.getJSONObject(0).getString("announcement_content"));//announcement_content
        date.setText(data.getJSONObject(0).getString("announcement_date"));//announcement_date
这里是解析数据的非常重要的链接-

解析数据时出错- 请看这个-

title.setText(data.getJSONObject(0).getString("announcement_title"));//announcement_title
        content.setText(data.getJSONObject(0).getString("announcement_content"));//announcement_content
        date.setText(data.getJSONObject(0).getString("announcement_date"));//announcement_date
这里是解析数据的一个非常重要的环节-

您的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
让我知道这是否有效

您的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

让我知道这是否有效。

您的Json数据中没有Id

为给定响应解析来自JsonArray的数据,并从数组中获取JsonObject。然后从JsonObject解析细节

 String title =  data.getJSONObject(0).getString("announcement_title");
 String content = data.getJSONObject(0).getString("announcement_content");
 String date = data.getJSONObject(0).getString("announcement_date");
将json数据设置为TextView的:

 title.setText(title); 
 content.setText(content);                                                                
 date.setText(date);

Json数据中没有Id

为给定响应解析来自JsonArray的数据,并从数组中获取JsonObject。然后从JsonObject解析细节

 String title =  data.getJSONObject(0).getString("announcement_title");
 String content = data.getJSONObject(0).getString("announcement_content");
 String date = data.getJSONObject(0).getString("announcement_date");
将json数据设置为TextView的:

 title.setText(title); 
 content.setText(content);                                                                
 date.setText(date);

您的json数据如下所示:-

[{“公告标题”:“此处示例标题”,“公告内容”:“示例内容”,“公告日期”:“2016-02-04”}]


Json数据中没有Id:-

//注释Id设置在这一行,因为Json数据中没有Id

//id.setText(data.getString(0))

因此,您必须更改索引值,如下代码所示:-

title.setText(data.getString(0))

content.setText(data.getString(1))


date.setText(data.getString(2))

您的json数据如下所示:-

[{“公告标题”:“此处示例标题”,“公告内容”:“示例内容”,“公告日期”:“2016-02-04”}]


Json数据中没有Id:-

//注释Id设置在这一行,因为Json数据中没有Id

//id.setText(data.getString(0))

因此,您必须更改索引值,如下代码所示:-

title.setText(data.getString(0))

content.setText(data.getString(1))


date.setText(data.getString(2))

Json数组包含JsonObject,所以在将集合添加到textview之前需要获取它。Json数组包含JsonObject,所以在将集合添加到textview之前需要获取它。这根本不起作用,没有键我们无法获取值。这根本不起作用,没有键我们无法获取值。