在当前 Activity 上将按钮设置为启用
Set the button to Enable while on Current Activity
我有 2 个 activity 比方说,“activity_first.java
”和“Activity_second.java
”。
在 activity_first.java
上,我有 2 个按钮,分别是 call activity second
和 Waiting
。
Activity_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;
}
});
}
我有 2 个 activity 比方说,“activity_first.java
”和“Activity_second.java
”。
在 activity_first.java
上,我有 2 个按钮,分别是 call activity second
和 Waiting
。
Activity_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;
}
});
}