为什么课程重新加载?
问题描述:
我正在创建一个android应用程序,该应用程序将发送短信至连接至电路的另一SIM卡。当收到的SIM卡收到带有特定文本的信息时,电路将闭合,电机将开始运行。这里是程序为什么课程重新加载?
public class SendSMSActivity extends Activity implements View.OnClickListener{
ImageView image1;
Button turnon;
/** Called when the activity is first created. */
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
turnon = (Button) findViewById(R.id.button1);
image1 = (ImageView) findViewById(R.id.image1);
turnon.setOnClickListener(this);
}
public void onClick(View v)
{
String phoneNo = "XXXXXXXXXX";
String message = "Turn On";
if (phoneNo.length()>0 && message.length()>0)
{
sendSMS(phoneNo, message);
image1.setImageResource(R.drawable.greenon);
}
else{
Toast.makeText(getBaseContext(),
"Phone Number and Message not configured correctly.",
Toast.LENGTH_SHORT).show();
image1.setImageResource(R.drawable.redon);
}
}
protected void sendSMS(String phoneNo, String message) {
// TODO Auto-generated method stub
PendingIntent pi = PendingIntent.getActivity(this, 0,
new Intent(this, SendSMSActivity.class), 0);
SmsManager sms = SmsManager.getDefault();
sms.sendTextMessage(phoneNo, null, message, pi, null);
}
}
我遇到的问题是,点击后,屏幕上的图像出现后,它不停留在屏幕上。相反,类会重新加载,并且图像会重置为其原始图像。如何让图像保留在屏幕上而不会改回原始图像。
答
最有可能发生的事情是Android会杀死您的应用程序,它会释放一些内存。然后你再次提起并用onCreate
方法设置原始图像。
你需要做的是,当onPause()
或onSaveInstanceState()
被称为保存图像(和其他国家),并在onCreate()
从savedInstanceState
拉这个数据和应用它。详情可在这里找到http://developer.android.com/reference/android/app/Activity.html
请注意,这是完全正常的行为。