Это то, что я делаю:
Я отправляю намерение от mainactvity в мой фрагмент с использованием localbroadcastmanager . Я написал код onreceive () в oncreateview () класса фрагмента. Я не зарегистрирую приемник ondestroy () .
Но onreceive () не вызывается. Почему?
Это то, что я делаю: Я отправляю намерение от mainactvity в мой фрагмент с использованием localbroadcastmanager . Я написал код onreceive () в oncreateview () класса фрагмента. Я не зарегистрирую приемник ondestroy () . Но onreceive () не вызывается. Почему?[code] void handleText() { Intent i = new Intent("receiveURL"); i.putExtra("key", sharedText);
this.sendBroadcast(i); } [/code] в моем фрагменте : [code]public class AddTab extends Fragment implements View.OnClickListener {
BroadcastReceiver receiver;
EditText textBox;
@Override public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
}
@Override public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) {
// Inflate the layout for this fragment view = inflater.inflate(R.layout.fragment_add, container, false);
receiver = new BroadcastReceiver() { //This is not getting called @Override public void onReceive(Context context, Intent intent) { String g = intent.getStringExtra("key"); textBox = (EditText) getView().findViewById(R.id.editText); if (textBox != null){ textBox.setText(g);} else{ Log.d("NULL", ""); }
Log.d("received",""); } };
LocalBroadcastManager.getInstance(getActivity()).registerReceiver(receiver, new IntentFilter("receiveURL")); ... //some code }