2016-11-28 2 views
-3

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

switch (txt.getText().toString()){ 

     case "Jumlah(Tinggi-Rendah)": 
     dialog.dismiss(); 
     cond = "desc"; 
     by = "jumlah"; 
     Log.e("By1 : ", ""+by); 
     Intent intent = new Intent("KEY"); 
     sendBroadcast(intent); 
     return; 

и это мой прибудет Строка

public String getDataAkun(){ 

    return idakun; 
} 

public String getDataBy(){ 
    return by; 
} 

и это мой сценарий в моем фрагменте

MainActivity activity = (MainActivity) getActivity(); 

    idakun = activity.getDataAkun(); 
    by = activity.getDataBy(); 

это мой широковещательный

private BroadcastReceiver updateProfileBroadcast = new BroadcastReceiver() { 

    @Override 
    public void onReceive(Context context, Intent intent) { 
     //Fire your event 
     list_transaksi(); 
     Toast.makeText(getContext(),"huft :"+by+" - "+idakun,Toast.LENGTH_LONG).show(); 
    } 
}; 

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

enter image description here им новое на андроид программирования, так что если есть любая помощь, пожалуйста ...

+2

Вы создаете фрагмент в действии правильно? Почему вы не создаете объект в активности и вызываете метод setter во фрагменте для передачи значений между активностью и фрагментом. – jgm

+0

Вы можете использовать более простой подход для отправки данных между фрагментами и действиями –

+0

см. Это http://stackoverflow.com/questions/12739909/send-data-from-activity-to-fragment-in-android –

ответ

0

Чтобы отправить данные из активности в фрагмент, просто создайте Bundle и поместите в него необходимые параметры и установите этот пакет в фрагменте.setArguments(), когда вы прикрепляете или заменяете этот фрагмент.

Вот пример:

Bundle bundle = new Bundle(); 
bundle.putInt("Key", 2); 
Fragment frag = new YourFragment(); 
frag.setArguments(bundle); 
--> then add or replace fragment as you want. 

Update: в методе OnCreate() ваш фрагмент поставить под кодом:

Bundle расслоение = getArguments(); int i = bundle.getInt ("ключ");

По-прежнему неясно, а затем комментарий ниже.

+0

все еще такой же возврат null значение, спасибо за помощь btw – matin

+0

Обновленный ответ может вам помочь. пожалуйста, проверьте – Sangeeta

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