2016-01-26 3 views
1

Я хочу передать пучок по нажатию кнопки для нового действия. Это код пачки в адаптере класса, который расширяет recycleview адаптерапередать пакет от адаптера recycleview к действию

private void passBundle (Vendor mItemSelected){ 
    mBundle = new Bundle(); 
    mBundle.putString("VENDOR_ID", mItemSelected.getVENDORID()); 
    mBundle.putString("CAT_ID", "" + mItemSelected.getVEN_TYPE()); 
    mBundle.putString("VENDOR_NAME", "" + mItemSelected.getVENDORNAME()); 
    mBundle.putString("CAT_ID", "" + mItemSelected.getVEN_TYPE()); 
    mBundle.putString("CAT_ID", "" + mItemSelected.getVEN_TYPE()); 
    mBundle.putString("VENDOR_AREA", "" + mItemSelected.getVENDORADDRESS()); 
    Intent in = new Intent(context,Chat_Activity.class); 
    in.putExtra("Bundle", mBundle); 
    Context.startActivity(in); 
} 

и это код, где я извлечение данных в пачке другой деятельности.

Bundle bundle = new Bundle(); 
    chatVenID = bundle.getString("VENDOR_ID", ""); 
    catID = bundle.getString("CAT_ID", ""); 
    vendorName = bundle.getString("VENDOR_NAME", ""); 
    vendorArea = bundle.getString("VENDOR_AREA",""); 

ответ

0

Вы можете вызвать

Bundle bundle = getIntent().getBundleExtra("Bundle"); 
    chatVenID = bundle.getString("VENDOR_ID", ""); 

в OnCreate (Bundle savedInstanceState) метод; новый Bunlde() создаст новый объект bundle, не сможет получить значение pass из предыдущей активности.

0
Bundle bundle = new Bundle(); 

В этом коде вы создаете новый объект Bundle, поэтому вы не получите никаких значений. Изменить его на

getIntent().getBundleExtra("Bundle")