android – 将广播发送到MainActivity,然后显示TextView

一旦在另一个View文件中调用了一个方法,我想取消隐藏TextView。 TextView位于MainActivity中。

为此,我计划将View文件中的广播发送到MainActivity,但它不起作用。

我怎么做到这一点?

第0步:定义一个动作:

public static final String ACTION_SHOW_TEXT= "showText"; 

第1步:在MainActivity中创建广播接收器:

 BroadcastReceiver mReceiver = new BroadcastReceiver() { @Override public void onReceive(Context context, Intent intent) { if (myText != null) { myText.setVisibility(View.VISIBLE); } } }; 

第2步:在MainActivity中添加注册和取消注册事件:

 @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); LocalBroadcastManager.getInstance(this) .registerReceiver(mReceiver, new IntentFilter(ACTION_SHOW_TEXT)); } @Override protected void onDestroy() { super.onDestroy(); LocalBroadcastManager.getInstance(this).unregisterReceiver(mReceiver); } 

第3步:每当您想要显示TextView时,都可以从任何地方进行呼叫:

 Intent i = new Intent(MainActivity.ACTION_SHOW_TEXT); i.putExtra("success", true); LocalBroadcastManager.getInstance(this) .sendBroadcast(i); }