【问题标题】:not getting data from server into textview in android?没有从服务器获取数据到android中的textview?
【发布时间】:2017-01-26 06:53:28
【问题描述】:

我想从服务器设置文本数据,当我进行调试时我得到了服务器的响应,但它没有设置 settext。当我运行代码时似乎什么也没发生,它没有将服务器数据显示到 textview 中: 这是我的java类:

public class PMAddPigeonActivity extends AppCompatActivity {

private static String url= "http://.........php";
    TextView commission;

protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_pmadd_pigeon);

  commission=(TextView)findViewById(R.id.comm) ;


        getData();
}
private void getData() {
        StringRequest stringRequest = new StringRequest(url, new Response.Listener<String>() {
            @Override
            public void onResponse(String response) {

                showJSON(response);
            }
        },
                new Response.ErrorListener() {
                    @Override
                    public void onErrorResponse(VolleyError error) {
                        Toast.makeText(PMAddPigeonActivity.this,error.getMessage().toString(),Toast.LENGTH_LONG).show();
                    }
                });

        RequestQueue requestQueue = Volley.newRequestQueue(this);
        requestQueue.add(stringRequest);
    }

    private void showJSON(String response){


        try {
            JSONObject jsonObject = new JSONObject(response);
            JSONArray result = jsonObject.getJSONArray(Config.JSON_ARRAY);
            JSONObject collegeData = result.getJSONObject(0);
           String name1 = collegeData.getString("commission");
            commission.setText(name1, TextView.BufferType.EDITABLE );





        } catch (JSONException e) {
            e.printStackTrace();
        }
       // commission.setText(""+name );
    }

config.java

public class Config {

    public static final String KEY_NAME = "commission";

    public static final String JSON_ARRAY = "result";
}

我的 json 输出:

{
  "id": 1,
  "commission": 0.01
}

我的 xml:

<TextView
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:textAppearance="?android:attr/textAppearanceSmall"

                android:id="@+id/comm"
                android:textColor="#000"
                android:layout_marginTop="70dp"

                android:layout_alignTop="@+id/pedigreeupload"
                android:layout_alignRight="@+id/dname"
                android:layout_alignEnd="@+id/dname" />

【问题讨论】:

  • 您只能在 UI 线程上将文本设置为 textview。你确定你的onResponse 是在 UI 线程上调用的吗?
  • 先尝试记录或祝您回复,如果符合预期?或者也发布您的 JSON 响应。
  • 确保 collegeData.getString("commission") 返回要显示的正确文本
  • 好的,我先试试吧
  • @junaid..我已经发布了我的 json 回复

标签: java android mysql textview


【解决方案1】:

由于您的响应中没有 JSON 数组,因此您需要按如下方式更改响应处理。

 JSONObject jsonObject = new JSONObject(response);
 String name1 = jsonObject.getString("commission");
 commission.setText(name1, TextView.BufferType.EDITABLE );

【讨论】:

    猜你喜欢
    • 2017-05-18
    • 1970-01-01
    • 2015-11-10
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多