改造 android 在 textview 中显示数据

retrofit android display data in textview

我的问题可能看起来很简陋 我有这个 Post 请求 我有点新 Retrofit2/javaAndroid

@POST("api/abcdefg")
        Call<ResponseBody> postResponse(@Body RequestBody requestBody);

和这个数据模型

public class Post {
    private int id;
    private String nam;
    private String namk;
    private String namp;
 
    public int getId() {
        return id;
    }
    
    public String getText() {
        return text;
    }

    public String getNam() {
        return nam;
    }

    public String getNamk() {
        return namk;
    }

    public String getNamp() {
        return namp;
    }
 }

我想在文本视图中显示它们,但现在我只能在 Log.d 中显示它们 这是我的主要

@Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);

        textViewResult = findViewById(R.id.text_view_result);
        Retrofit retrofit = new Retrofit.Builder()
                .baseUrl("http://w.x.y.z:1111/")
                .addConverterFactory(GsonConverterFactory.create())
                .build();
        //ApiInterface jsonPlaceHolderApi = retrofit.create(ApiInterface.class);

        ApiInterface api = retrofit.create(ApiInterface.class);


        String json = "{\n" +
                "\"nam\":\"Alex\",\n" +
                "\"namk\":\"\"\n" +
                "}";

        RequestBody requestBody = RequestBody.create(MediaType.parse("application/json"),json);

        api.postResponse(requestBody).enqueue(new Callback<ResponseBody>() {
            @Override
            public void onResponse(Call<ResponseBody> call, Response<ResponseBody> response) {
                try {
                    Log.d("RetrofitBruh", response.body().string());

                } catch (IOException e){
                    e.printStackTrace();
                }

            }
            @Override
            public void onFailure(Call<ResponseBody> call, Throwable t) {

            }
        });

我知道这是个简单的问题 谢谢回复♥ 对不起,我耽误了你的时间

考虑到您在布局中有一个用于显示的 TextView,那么您可以做一些事情。

@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_main);
    //text view for showing results from api
    textViewResult = findViewById(R.id.text_view_result);
    //here call the api
    getApiResults();
}

 private void getResults(){
   getApiService().postResponse(getRequestModel()).enqueue(new Callback<ResponseBody>() {
        @Override
        public void onResponse(Call<ResponseBody> call, Response<ResponseBody> response) {
            try {
                Log.d("RetrofitBruh", response.body().string());
                textViewResult.setText(response.body().string()); //setting text here
            } catch (IOException e){
                e.printStackTrace();
            }

        }
        @Override
        public void onFailure(Call<ResponseBody> call, Throwable t) {

        }
    });

 }

 private ApiInterface getApiService(){
    Retrofit retrofit = new Retrofit.Builder()
                .baseUrl("http://w.x.y.z:1111/")
                .addConverterFactory(GsonConverterFactory.create())
                .build();
   ApiInterface api = retrofit.create(ApiInterface.class);
   return api;
 }

 private RequestBody getRequestModel(){
     String json = "{\n" +
                "\"nam\":\"Alex\",\n" +
                "\"namk\":\"\"\n" +
                "}";

        RequestBody requestBody = RequestBody.create(MediaType.parse("application/json"),json);
    return requestBody;
  }