从特定 class - Android 获取意图时隐藏按钮

Hide button when get intent from a specific class - Android

我想在按钮从特定 class 获得意图时隐藏它。

可以吗?

例如,我有 classes 命名为 A_activity.class、B_activity.class 和 C_activity.class。在 C_activity.class 中,如果它从 A_activity.class 获得意图,则该按钮可见。但是如果它来自B_activity.class,按钮是不可见的。

这是我的源代码

Intent i=getIntent();

    buttonTTS = (AppCompatButton) findViewById(R.id.button);
    buttonTTS.setOnClickListener(new View.OnClickListener() {
        @Override
        public void onClick(View v) {
            speakOut();
        }
    });

我应该如何处理我的代码?

来自 A_Activity putExtra("showButton", true) 和来自 B_Activity putExtra("showButton", false)

现在 C_Activity、getExtras 和隐藏和显示按钮。

希望对您有所帮助。

你应该这样做。当您从 activity A 创建 Intent 时,您应该添加额外的:

intent.putExtra("buttonVisible", true);

从activity B

intent.putExtra("buttonVisible", true);

在你的 activity C:

if (getIntent().getBooleanExtra("buttonVisible", false)){
    buttonTTS.setVisibility(View.VISIBLE)
} else 
buttonTTS.setVisibility(View.GONE);

您可以发送带有意图的 标签,然后使用 class 值检查标签,然后您可以隐藏或显示按钮。

putExtra("tag","A_activity");

现在在 class C 中,您可以通过将其放入字符串中并按值进行比较来检查它。

String tag = getIntent().getStringExtra("tag");

if(tag.equals("A_activity")){

button.setVisibility(View.GONE);

}

else{
     ....
    }