【问题标题】:Android: Hide button from another activityAndroid:隐藏另一个活动的按钮
【发布时间】:2016-02-17 11:48:24
【问题描述】:

我有 2 项活动。最初,第一个活动中的按钮是不可见的。我想要的是,当我单击第二个活动中的按钮时,我的第一个活动中的按钮应该变得可见。

这是我到现在为止的第二个活动代码。

this.promodeimage.setOnClickListener(new OnClickListener() {
    public void onClick(View view) {
        ///What should i do in here 
     }
});

【问题讨论】:

    标签: android android-fragments android-intent editor sharedpreferences


    【解决方案1】:

    做一件事!这很容易..只需将您的第一个活动中的按钮设为公共静态

    public class Activity_One extends Activity {
    
    public static Button btnOne ;
    
    @Override
        protected void onCreate(Bundle savedInstanceState) {
            super.onCreate(savedInstanceState);
            setContentView(R.layout.activity_one);
    
    
           btnOne = (Button) findViewById(R.id.btnOne);
    }
    

    现在您需要做的就是从第二个活动中使用第一个活动的类名访问它,即 Activity_One.btnOne

    public class Activity_Two extends Activity {
    
         Button btnTwo ;
    
        @Override
            protected void onCreate(Bundle savedInstanceState) {
                super.onCreate(savedInstanceState);
                setContentView(R.layout.activity_one);
    
    
               btnTwo = (Button) findViewById(R.id.btnTwo);
    
    btnTwo.setOnClickListener(new OnClickListener() {
    
                @Override
                public void onClick(View v) {
                    Activity_One.btnOne.setVisibility(View.GONE);
                }
            });
        }
    

    让我知道这是否适合您! :)

    【讨论】:

    • 为什么你发布和我一样的答案,但半小时后?
    • 我认为在Android中依赖静态变量不好。
    【解决方案2】:

    要解决此问题,请在您的 first 活动中设置您的按钮 static,例如:

    public class FirstActivity extends Activity { 
    
    public static Button yourButton;
    
        @Override
        protected void onCreate(Bundle savedInstanceState) {
            super.onCreate(savedInstanceState);
            setContentView(R.layout.yourlayout);
    
            yourButton = (Button) findViewById(R.id.yourButtonId);
        }
    }
    

    这样你就可以像这样在你的 second 活动中找到按钮:

    FirstActivity.yourButton.setVisibility(View.GONE);    //Make it invisible
    FirstActivity.yourButton.setVisibility(View.VISIBLE); //Make it visible
    

    希望这能解决您的问题。

    【讨论】:

      【解决方案3】:

      在您的第一个活动中,使用

      签入 onCreate()
      if(getIntent().getExtras().getString("modepro").equals("yes")){
      
          yourButton.setVisibilty(View.VISIBLE)
      }
      

      【讨论】:

      • 请检查我的问题告诉我代码在 modeactivity 中的 onclicklistener 是什么
      【解决方案4】:

      您可以在需要实现逻辑时使用类似的东西。

       yourButton.setEnabled(true)--->Here is enabled.
       yourButton.setEnabled(false)---> Here is disabled.
      

      祝你好运!

      【讨论】:

        猜你喜欢
        • 2013-09-18
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2011-12-10
        • 1970-01-01
        • 1970-01-01
        • 2020-12-23
        • 1970-01-01
        相关资源
        最近更新 更多