我刚刚开始Android开发。我有一个非常简单的项目。我有一个按钮和一个textview。单击该按钮时,textView的文本将更改,并且按钮将被禁用。这部分工作正常。但是我希望按钮保持其状态(禁用状态),如果我在手机上按家(键盘上的逃生)并返回我的应用程序。但就我而言,每次按回家并返回我的应用程序时,Button都会启用。这是代码
package com.mypack.textmanipulation;
import android.os.Bundle;
import android.app.Activity;
import android.view.Menu;
import android.view.View;
import android.widget.*;
public class MainActivity extends Activity {
private Button btnChangeText;
private boolean check;
@Override
protected void onCreate(Bundle savedInstanceState)
{
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
btnChangeText = (Button)findViewById(R.id.btnChangeText);
check = true;
setButtonOnClickInterface();
}
@Override
protected void onResume()
{
super.onResume();
checkButtonIsEnabled();
}
@Override
public boolean onCreateOptionsMenu(Menu menu)
{
// Inflate the menu; this adds items to the action bar if it is present.
getMenuInflater().inflate(R.menu.activity_main, menu);
return true;
}
private void setButtonOnClickInterface()
{
btnChangeText.setOnClickListener(new View.OnClickListener()
{
@Override
public void onClick(View v)
{
// TODO Auto-generated method stub
TextView txtView = (TextView)findViewById(R.id.textView1);
txtView.setText("Text Changed");
btnChangeText.setEnabled(false);
check = false;
}
});
}
private void checkButtonIsEnabled()
{
if (check)
{
btnChangeText.setEnabled(true);
}
else
{
btnChangeText.setEnabled(false);
}
}
}
欢迎提出建议。 感谢
答案 0 :(得分:0)
在项目中使用共享首选项来存储值check this
答案 1 :(得分:0)
刚刚找到了解决方案。我正在退出应用程序而不是暂停它。实际上我正在按键盘上的ESC按钮返回到HOME屏幕,这实际上相当于Android中的BACK按钮,在我的情况下,我猜,应用程序正在退出,所以每次我再次点击应用程序图标时,onCreate调用了event而不是onResume。
键盘上的BTW HOME按钮充当Android HOME按钮。