在当前 Activity 上将按钮设置为启用

Set the button to Enable while on Current Activity

我有 2 个 activity 比方说,“activity_first.java”和“Activity_second.java”。 在 activity_first.java 上,我有 2 个按钮,分别是 call activity secondWaitingActivity_second.java 也有一个按钮,我称之为 Set Waiting to ENABLED。 因此,在运行时,将调用 activity_first.java,设置 call activity second 启用并且 Waiting 设置为禁用。当您单击 call activity second 时,将显示 Activity_second.java,但 activity_first.java 不会关闭,继续运行以便我可以返回手机的后键盘,所以在Activity_second.java 如果我单击 Set Waiting to ENABLED 按钮,activity_first.java 中的 Waiting 按钮将设置为启用,因此如果我关闭 Activity_second.java Waiting 按钮已通过单击 Set Waiting to ENABLED 按钮启用。我的问题是,我不知道如何在 Activity_second.java.

上启用 Waiting 按钮
any body can help? 
thank you so much!

首先,不要写长段,分解你的问题并用简单的要点陈述:)

您可以通过维护 static boolean variable 轻松维护 waiting 按钮的状态 并在 first activity.

中实现 onRestart 方法

这里是link一个源代码。下载并检查代码。希望你会发现这有用

https://drive.google.com/file/d/0B-ZuLKRNNO7BVUZpQVpOYVQ3X0k/view?usp=sharing

有什么问题尽管问。

这是代码。

ActivityFirst.java

public class ActivityFirst extends ActionBarActivity implements OnClickListener {

Button btnCallActivitySecond;
Button btnWaiting;

//variable that maintains the state of button
public static boolean status = false;

@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_first);


    btnCallActivitySecond = (Button) findViewById(R.id.btnActCall);
    btnWaiting = (Button) findViewById(R.id.btnWainting);       

    btnWaiting.setEnabled(status);

    btnCallActivitySecond.setOnClickListener(this);
    btnWaiting.setOnClickListener(this);
}
/*This method will be called each time
  whenever you press back button from second activity*/
@Override
protected void onRestart() {
    // TODO Auto-generated method stub
    super.onRestart();
    btnWaiting.setEnabled(status);
    Toast.makeText(this, "restart "+ status, Toast.LENGTH_LONG).show();
}
@Override
public void onClick(View arg0) {
    // TODO Auto-generated method stub
    switch (arg0.getId()) {
    case R.id.btnActCall:
        Intent i = new Intent(this, ActivitySecond.class);
        i.putExtra("status", status);
        startActivity(i);
        break;
    case R.id.btnWainting:
        Toast.makeText(this, " "+ status, Toast.LENGTH_LONG).show();
        break;
    }


}  ... }

ActivitySecond.java

public class ActivitySecond extends ActionBarActivity {

Button btnWaitEnable;


@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_second);

    btnWaitEnable = (Button) findViewById(R.id.btnWaitEnable);

    btnWaitEnable.setOnClickListener(new OnClickListener() {

        @Override
        public void onClick(View v) {
            // TODO Auto-generated method stub

            //This statement will return the opposite of what 
            //is stored in that public static boolean variable
            ActivityFirst.status = (ActivityFirst.status == true)?false:true;

        }
    });

}