猿问

使用 Retrofit 将 id 的 int 值转换为 String 时找不到资源

我正在使用 Retrofit 来获取数据并将其显示到屏幕上。我想通过他们的 id 搜索用户。我做了这样的界面:


 @GET("/posts/{id}")

Call<postmodel> getUsersModel(@Path("id") int id);

问题出在 DetailActivity 第 52 行:


 EndPointAccess access = APIClient.getRetrofit().create(EndPointAccess.class);

    Call<postmodel> modelCall = access.getUsersModel(Integer.parseInt(_userinput));

这是 Logcat 报告:


android.content.res.Resources$NotFoundException: 

String resource ID #0x1

at

android.content.res.Resources.getText(Resources.java:351)

at

android.content.res.MiuiResources.getText(MiuiResources.java:97)

at

android.widget.TextView.setText(TextView.java:4562)

at com.example.sahil.typicode1.Activity.DetailActivity$2.onResponse(DetailActivity.java:60)

API客户端.java


 public static final String BASE_URL = "https://jsonplaceholder.typicode.com";

private static Retrofit retrofit = null;


public static Retrofit getRetrofit()

{

    if (retrofit == null)

    {

        retrofit = new Retrofit.Builder().baseUrl(BASE_URL)

                .addConverterFactory(GsonConverterFactory

                        .create()).build();

    }

    return retrofit;

}

EndPointAccess.java(接口)


 @GET("/posts/{id}")

Call<postmodel> getUsersModel(@Path("id") int id);

主活动.java


EditText userid;

Button search;


@Override

protected void onCreate(Bundle savedInstanceState) {

    super.onCreate(savedInstanceState);

    setContentView(R.layout.activity_main);


    userid = (EditText) findViewById(R.id.etuserid);

    search = (Button) findViewById(R.id.btnsearch);


    search.setOnClickListener(new View.OnClickListener() {

        @Override

        public void onClick(View view) {

            Intent intent = new Intent(MainActivity.this,DetailActivity.class);

            intent.putExtra("STRING_I_NEED",userid.getText().toString());

            startActivity(intent);

        }

    });

}


萧十郎
浏览 170回答 2
2回答
随时随地看视频慕课网APP

相关分类

Java
我要回答