2016-03-02 3 views
0

В Фрагмент внутри onCreateViewне может решить метод 'putExtra (android.os.bundle)'

putExtra(dataBundle); 

дает

не может решить метод 'putExtra (android.os.bundle)' ошибка

но

putExtra("id", id_To_Search); 

отлично работает. Я хочу отправить dataBunle, чтобы узнать, что мне не хватает.

@Override 
      public void onItemClick(AdapterView<?> adapterView, View view, int position, long l) { 
       int id_To_Search = position + 1; 
      Bundle dataBundle = new Bundle(); 
      dataBundle.putInt("id", id_To_Search); 

      Intent intent = new Intent(getActivity(), DetailActivity.class).putExtra(dataBundle); 
      startActivity(intent); 
     } 
+0

Где ошибка? Когда вы вкладываете пакет в намерение или пытаетесь его получить? – Xjasz

+0

@jasz не может решить метод 'putExtra (android.os.bundle)' –

+0

вам нужно сделать это так putExtra ("id", id_To_Search); – Xjasz

ответ

5

Ваша ошибка:

имена методов является putExtras .... вам не хватает s

Do:

Intent intent = new Intent(getActivity(), DetailActivity.class).putExtras(dataBundle); 

Другой пример:

Intent mIntent = new Intent(this, Example.class); 
Bundle mBundle = new Bundle(); 
mBundle.putString(key, value); 
mIntent.putExtras(mBundle); 
+0

Я хочу отправить комплект с моими намерениями. Я знаю, что это работает в вопросе –

+0

вы пропустите s, имя метода putExtras, с s в конце, а не добавьте лишний .... Я обновил свой ответ, попробую, и, пожалуйста, дайте мне знать ... –

1

putExtra() не возвращайте экземпляр Intent. Так что попробуйте это ..

Intent intent = new Intent(getActivity(), DetailActivity.class); 
intent.putExtra(dataBundle); 
startActivity(intent); 

Но Вы можете отправить это целое число следующим образом ...

Sender Side:

Intent myIntent = new Intent(getActivity(), DetailActivity.class); 
myIntent.putExtra("id", id_To_Search); 
startActivity(myIntent); 

Receiver Side:

Intent mIntent = getIntent(); 
int intValue = mIntent.getIntExtra("id", 0); 
+0

Пробовал это То же самое проблема persissts –

+0

вы делаете что-то не так ... Я имею в виду, если вы просто хотите передать целое число другому действию, то почему вы используете Bundle. вы можете передать целое число с намерением. – Khan

+0

см. Мой отредактированный ответ, надеюсь, что это поможет вам. – Khan

Смежные вопросы