java - android - 向 MainActivity 发送广播,然后显示 TextView

标签 java android view broadcastreceiver main-activity

我想在另一个 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);
}

关于java - android - 向 MainActivity 发送广播,然后显示 TextView,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36665670/

相关文章:

java - 使用 Maven 在单独的 jar 中构建和打包应用程序和依赖项

android - 删除图像文件创建一个具有相同名称的 0 字节文件

javascript - 建议 : Struggling with Model-View-Controller in JavaScript

templates - Angular SubViews/多区域模板、指令和动态模板 URL

java - SAML 响应的 SAML2.0 签名验证失败

java - 如何将 JPanel 高度设置为自动

java - spring mvc有 Controller Action 事件前后的概念吗?

android - 如何阻止 AVD 中出现解锁屏幕?

java - 网页 View 应用程序无法运行

php - MVC : Where should I format data?