package andevcon14.FragmentCommsSupport.Types.LocalBroadcast; import android.content.BroadcastReceiver; import android.content.Context; import android.content.Intent; import android.os.Bundle; import android.support.v4.app.Fragment; import android.support.v4.content.LocalBroadcastManager; import android.view.LayoutInflater; import android.view.View; import android.view.ViewGroup; import android.widget.Button; import android.widget.TextView; import android.widget.Toast; import andevcon14.FragmentCommsSupport.R; public class LocalBroadcastFragment extends Fragment { private BroadcastReceiver countReceiver; @Override public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle sis) { super.onCreateView(inflater, container, sis); // I want LoggedFragment's side effect View view = inflater.inflate(R.layout.minus_text_plus, container, false); Button minusButton = (Button) view.findViewById(R.id.minusButton); Button plusButton = (Button) view.findViewById(R.id.plusButton); final TextView count = (TextView) view.findViewById(R.id.count); minusButton.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View view) { CounterBroadcastHelper.getInstance() .broadcastUpdate(getActivity(), false); } }); plusButton.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View view) { CounterBroadcastHelper.getInstance() .broadcastUpdate(getActivity(), true); } }); countReceiver = new BroadcastReceiver() { @Override public void onReceive(Context context, Intent intent) { int newCount = intent.getIntExtra(CounterBroadcastHelper.EXTRA_COUNT, 0); count.setText(""+newCount); } }; return view; } @Override public void onPause() { super.onPause(); LocalBroadcastManager.getInstance(getActivity()) .unregisterReceiver(countReceiver); } @Override public void onResume() { super.onResume(); LocalBroadcastManager.getInstance(getActivity()) .registerReceiver( countReceiver, CounterBroadcastHelper.getInstance().getReportIntentFilter()); } }