如何在重启活动android时禁用按钮

时间:2014-08-12 10:56:28

标签: android

我有活动流程 活动1->活动2->活动3

如果用户在活动3中执行某些操作,则共享首选项布尔变量“已执行”存储为true。现在,如果用户按下后退按钮加载活动2,它不会(我使用finish())并加载活动1.这很好,并根据需要。

我现在想要的是,当活动1以这种方式重新启动时,基于共享首选项的值布尔变量“已执行”值为true,应隐藏Activity中的按钮。

我正在使用,

if (preferences.getBoolean("performed",false)){  
    button.setVisibility(View.Gone);  
}  

我已在活动1的onRestart方法中编写此代码。

我错过了什么?

该按钮不会隐藏。

1 个答案:

答案 0 :(得分:-1)

我是按照以下方式完成的   - 写了一个singalton类有变量IsVisited。   - 检查是否在onResume()方法中访问了它   - 如果访问,则设置按钮消失的可见性

  

主要活动

Controller c;
Button bu ;
@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_main);
     bu = (Button)findViewById(R.id.button1);
    c = Controller.getController();
    bu.setOnClickListener(new OnClickListener() {

        @Override
        public void onClick(View arg0) {
            c.setIsVisited(true);
            Intent i = new Intent(MainActivity.this, mainactivity2.class);
            startActivity(i);
        }
    });
}
    protected void onResume() {
    super.onResume();
    if(c.getIsVisited())
    {
        bu.setVisibility(View.GONE);
    }
  

另一项活动

    protected void onCreate(Bundle savedInstanceState) {
    // TODO Auto-generated method stub
    super.onCreate(savedInstanceState);
    setContentView(R.layout.main2);
    Controller c = Controller.getController();
    Button b = (Button)findViewById(R.id.button1);
    b.setOnClickListener(new OnClickListener() {
        @Override
        public void onClick(View v) {
            finish();
        }
    });


}
  

控制器类(Singleton类)

public class Controller {

private static final Controller controller = new Controller();
private Boolean isVisited = false;

private Controller()
{

}
public static Controller getController()
{
    return controller;
}

public Boolean getIsVisited() {
    return isVisited;
}

public void setIsVisited(Boolean isVisited) {
    this.isVisited = isVisited;
}}


![enter image description here][1]

enter image description here

enter image description here