Я хочу (1) передать переменную позиции и (2) открыть новое действие при нажатии на элемент.
Я обнаружил, что мне нужно создать переменную Activity
, чтобы использовать Intent
, и я также обнаружил, что могу использовать putExtra
для передачи переменной положения.
Хотя код ниже работает для регулярной_активности. java, для фрагмента не работает. java. Он полностью закрывает приложение, когда я открываю этот фрагмент.
@Override
public void onClick(View view) {
Intent int_detail = new Intent(activity, bottom_nav_search_details.class);
int_detail.putExtra("position", position);
activity.startActivity(int_detail); }
На всякий случай, если кто-нибудь найдет что-нибудь полезное, вот более длинные строки кода. Когда я удаляю вышеуказанную часть (Intent part), все работает - журнал успешно показывает разные позиции, когда я нажимаю разные элементы.
private Activity activity;
@Override
public void onBindViewHolder(@NonNull ExampleViewHolder holder, final int position) {
final ExampleItem currentItem = exampleList.get(position);
holder.imageView.setImageResource(currentItem.getImageResource());
holder.textView1.setText(currentItem.getText1());
holder.parentLayout.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
Log.i(TAG, "Clicked " + position);
Intent int_detail = new Intent(activity, bottom_nav_search_details.class);
int_detail.putExtra("position", position);
activity.startActivity(int_detail);
}
});
}