У меня есть фрагмент, содержащий представление списка, на элементе нажмите, как отправить позицию (int) в новое действие

Я создаю простое приложение для подсчета. Я создаю основное действие, содержащее макет вкладок из двух вкладок, затем каждая вкладка содержит фрагмент на фрагменте. У меня есть представление списка, когда и элемент щелкнул.

            Intent intent = new Intent(getActivity(), ButtonCountActivity.class);
            startActivity(intent);

мне нравится получать listView.setOnItemClickListener int я на ButtonCountActivity как?

в newActivity я подсчитываю и сохраняю подсчитанные данные в базу данных SQL, мне нужно это (int i), чтобы выбрать щелкнутый элемент для обновления

на фрагменте

        listView.setOnItemClickListener(new AdapterView.OnItemClickListener() {
        @Override
        public void onItemClick(AdapterView<?> adapterView, View view, int i, long l) {



            Intent intent = new Intent(getActivity(), ButtonCountActivity.class);
            Bundle bundle = new Bundle();
            bundle.putInt("Value",i);
            startActivity(intent);

        }
    });

о новой активности

        Intent intent= getIntent();
    Bundle bundle = new Bundle();
    bundle = intent.getBundleExtra("value");
    int value = bundle.getInt("value");
    Log.d("T","haha got u " + value  );

я получаю нулевое значение, которое я пытался исправить, мне нужна помощь, очень нуб здесь

🤔 А знаете ли вы, что...
Java поддерживает исключения для обработки ошибок.


25
1

Ответ:

Решено

Вы помещаете int в «Value» и пытаетесь получить его из «value», конечно, вы получите null, оба должны быть «Value» или «value»

изменить это

 Intent intent = new Intent(getActivity(), ButtonCountActivity.class);
            Bundle bundle = new Bundle();
            bundle.putInt("Value",i);
            startActivity(intent);

к этому

  Intent intent = new Intent(getActivity(), ButtonCountActivity.class);
             
                intent .putExtra("Value",i);
                startActivity(intent);

поменяй это..

Intent intent= getIntent();
    Bundle bundle = new Bundle();
    bundle = intent.getBundleExtra("value");
    int value = bundle.getInt("value");
    Log.d("T","haha got u " + value  );

к этому

int value;
 Bundle extras = getIntent().getExtras();
        if (extras != null) {
                   value = extras.getInt("Value");

               }