Я хочу сделать апи вызов к конечной точке, как это:значения URL Android Установить в RecyclerView Пункт
http://myapi.co/api/users/23/gifts/2
но viewholder в моем адаптере определяется следующим образом:
public class ViewHolder extends RecyclerView.ViewHolder{
public TextView tvUserName;
public TextView tvGiftName;
public ViewHolder(View v){
super(v);
tvUserName = (TextView) v.findViewById(R.id.user_name);
tvGiftName = (TextView) v.findViewById(R.id.gift_name);
}
}
Таким образом, каждый строка в моем просмотре recycler показывает только имя пользователя и имя подарка.
|---------------------------|
| user name 1 gift name 1 |
|---------------------------|
| user name 1 gift name 3 |
|---------------------------|
| user name 3 gift name 9 |
|---------------------------|
| user name 9 gift name 1 |
|---------------------------|
Когда будет нажат, то следует использовать идентификатор пользователя и подарка идентификатор для того, чтобы сделать еще один запрос, но я не уверен, что это лучший способ использования идентификаторов.
мне было интересно, если это лучший способ решить мою проблему:
Первых добавить еще два вида текста для каждого пункта в моем списке recyclerview, оба из них будет иметь идентификатор пользователя и дар.
public class ViewHolder extends RecyclerView.ViewHolder{
public TextView tvUserName;
public TextView tvUserId;
public TextView tvGiftName;
public TextView tvGiftId;
public ViewHolder(View v){
super(v);
tvUserName = (TextView) v.findViewById(R.id.user_name);
tvUserId = (TextView) v.findViewById(R.id.user_id);
tvGiftName = (TextView) v.findViewById(R.id.gift_name);
tvGiftId = (TextView) v.findViewById(R.id.gift_id);
}
}
И сделать текст Id TextViews пустым (для того, чтобы оба из них не появится на экране), поэтому, когда мне нужно, чтобы создать URL я сделать что-то вроде этого:
url = "http://myapi.co/api/users/" + tvUserId.getText() +
"/gifts/" + tvUserId.getText();
Это правильный подход?
Заранее спасибо
вы можете разместить где вы получаете të значения каждого текста –