Только разобрался как работает RecyclerView.Adapter, следующим пунктом был обработчик нажатий. Читал как делают. Для меня большим интересом было то, что их делают все по разному: обработчик ставят в одном методе, то в другом.
В общем, суть в том, что по нажатию на пункт меню в RecyclerView нужно перейти в другое Activity , и передать значение( _id, это значение в RecycleView я не как не вывожу , оно у меня хранится в списке) по которому из БД можно будет взять все данные и вывести на форму.
Читал что это можно делать в адаптере и нашёл одно из самых лёгких решений, но не получается.
public class RVAdapter extends RecyclerView.Adapter<RVAdapter.PersonViewHolder> {
public static class PersonViewHolder extends RecyclerView.ViewHolder {
CardView cv;
TextView personName;
TextView personAge;
PersonViewHolder(View itemView) {
super(itemView);
cv = (CardView)itemView.findViewById(R.id.cv);
personName = (TextView)itemView.findViewById(R.id.person_name);
personAge = (TextView)itemView.findViewById(R.id.person_cell);
}
}
List<MyItem> items;
RVAdapter(List<MyItem> items){
this.items = items;
}
@Override
public PersonViewHolder onCreateViewHolder(ViewGroup viewGroup, int i) {
View v = LayoutInflater.from(viewGroup.getContext()).inflate(R.layout.cardview, viewGroup, false);
PersonViewHolder pvh = new PersonViewHolder(v);
return pvh;
}
@Override
public void onBindViewHolder(RVAdapter.PersonViewHolder personViewHolder, int i) {
final int idvadaptere = items.get(i).idvliste; // вот то значение которое я хочу передать вместе с Intent
personViewHolder.personName.setText(items.get(i).name);
personViewHolder.personAge.setText(String.valueOf(items.get(i).cell));
personViewHolder.itemView.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
Context context = v.getContext();
Intent ddddd = new Intent(context, Main2Activity.class);
ddddd.putExtra("ddddddd", idvadaptere);
context.startActivity(ddddd);
}
});
}
@Override
public int getItemCount() {
return items.size();
}
@Override
public void onAttachedToRecyclerView(RecyclerView recyclerView) {
super.onAttachedToRecyclerView(recyclerView);
}
}
Вот сразу LogCat/
02-16 22:02:22.065 32618-32618/com.example.pro.appi E/AndroidRuntime: FATAL EXCEPTION: main
02-16 22:02:22.065 32618-32618/com.example.pro.appi E/AndroidRuntime: Process: com.example.pro.appi, PID: 32618
02-16 22:02:22.065 32618-32618/com.example.pro.appi E/AndroidRuntime: java.lang.RuntimeException: Unable to start activity ComponentInfo{com.example.pro.appi/com.example.pro.appi.Main2Activity}: android.content.res.Resources$NotFoundException: String resource ID #0x2
02-16 22:02:22.065 32618-32618/com.example.pro.appi E/AndroidRuntime: at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2316)
02-16 22:02:22.065 32618-32618/com.example.pro.appi E/AndroidRuntime: at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2376)
02-16 22:02:22.065 32618-32618/com.example.pro.appi E/AndroidRuntime: at android.app.ActivityThread.access$800(ActivityThread.java:147)
02-16 22:02:22.065 32618-32618/com.example.pro.appi E/AndroidRuntime: at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1281)
02-16 22:02:22.065 32618-32618/com.example.pro.appi E/AndroidRuntime: at android.os.Handler.dispatchMessage(Handler.java:102)
02-16 22:02:22.065 32618-32618/com.example.pro.appi E/AndroidRuntime: at android.os.Looper.loop(Looper.java:135)
02-16 22:02:22.065 32618-32618/com.example.pro.appi E/AndroidRuntime: at android.app.ActivityThread.main(ActivityThread.java:5253)
02-16 22:02:22.065 32618-32618/com.example.pro.appi E/AndroidRuntime: at java.lang.reflect.Method.invoke(Native Method)
02-16 22:02:22.065 32618-32618/com.example.pro.appi E/AndroidRuntime: at java.lang.reflect.Method.invoke(Method.java:372)
02-16 22:02:22.065 32618-32618/com.example.pro.appi E/AndroidRuntime: at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:899)
02-16 22:02:22.065 32618-32618/com.example.pro.appi E/AndroidRuntime: at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:694)
02-16 22:02:22.065 32618-32618/com.example.pro.appi E/AndroidRuntime: Caused by: android.content.res.Resources$NotFoundException: String resource ID #0x2
02-16 22:02:22.065 32618-32618/com.example.pro.appi E/AndroidRuntime: at android.content.res.Resources.getText(Resources.java:284)
02-16 22:02:22.065 32618-32618/com.example.pro.appi E/AndroidRuntime: at android.widget.TextView.setText(TextView.java:4176)
02-16 22:02:22.065 32618-32618/com.example.pro.appi E/AndroidRuntime: at com.example.pro.appi.Main2Activity.onCreate(Main2Activity.java:133)
02-16 22:02:22.065 32618-32618/com.example.pro.appi E/AndroidRuntime: at android.app.Activity.performCreate(Activity.java:5975)
02-16 22:02:22.065 32618-32618/com.example.pro.appi E/AndroidRuntime: at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1105)
02-16 22:02:22.065 32618-32618/com.example.pro.appi E/AndroidRuntime: at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2269)
02-16 22:02:22.065 32618-32618/com.example.pro.appi E/AndroidRuntime: at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2376)
02-16 22:02:22.065 32618-32618/com.example.pro.appi E/AndroidRuntime: at android.app.ActivityThread.access$800(ActivityThread.java:147)
02-16 22:02:22.065 32618-32618/com.example.pro.appi E/AndroidRuntime: at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1281)
02-16 22:02:22.065 32618-32618/com.example.pro.appi E/AndroidRuntime: at android.os.Handler.dispatchMessage(Handler.java:102)
02-16 22:02:22.065 32618-32618/com.example.pro.appi E/AndroidRuntime: at android.os.Looper.loop(Looper.java:135)
02-16 22:02:22.065 32618-32618/com.example.pro.appi E/AndroidRuntime: at android.app.ActivityThread.main(ActivityThread.java:5253)
02-16 22:02:22.065 32618-32618/com.example.pro.appi E/AndroidRuntime: at java.lang.reflect.Method.invoke(Native Method)
02-16 22:02:22.065 32618-32618/com.example.pro.appi E/AndroidRuntime: at java.lang.reflect.Method.invoke(Method.java:372)
02-16 22:02:22.065 32618-32618/com.example.pro.appi E/AndroidRuntime: at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:899)
02-16 22:02:22.065 32618-32618/com.example.pro.appi E/AndroidRuntime: at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:694)
И да , я не так давно задавал вопрос и мне подсказали , что вся суть ошибки возникающей в приложении можно узнать из LogCat'. То что невозможно запустить активити - я прочёл, а как решить проблему.. Если не затруднит, подскажите, где в нём сейчас указана ошибка и как вообще можно это расшифровывать, что бы с такими вопросами не выходить в свет, а разбираться самому.