我正在写一个有2个活动的android应用程序。当我想从第一个开始第二个时,我就这样做:
Intent k = new Intent(MainActivity.this, AboutActivity.class);
startActivity(k);
但是当我想回到那个活动时,我不想做一个新的活动,因为我觉得这不正确!但对于OnBackPress()
我刚刚调用finish();
但我遇到了这个错误。它进入最后的活动,并且应用程序显然正常工作但异常抛出!
这是AboutActivity:
package com.example.ruby;
import com.example.ruby.R;
import android.app.Activity;
import android.graphics.Typeface;
import android.os.Bundle;
import android.text.method.ScrollingMovementMethod;
import android.widget.TextView;
public class AboutActivity extends Activity {
TextView titleTxt;
TextView mainTxt;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_about);
titleTxt = (TextView) findViewById(R.id.TitleTxt);
mainTxt = (TextView) findViewById(R.id.AboutTxt);
mainTxt.setMovementMethod(new ScrollingMovementMethod());
Typeface face = Typeface.createFromAsset(getAssets(),
"fonts/Btabassom.ttf");
titleTxt.setTypeface(face);
mainTxt.setTypeface(face);
}
}
我查了很多论坛,我也看到了
@Override
protected void onStop()
{
unregisterReceiver(yourReceiver);
super.onStop();
}
但我没有什么可放在这里的。我不知道如何处理这个错误! 任何想法?
答案 0 :(得分:0)
如果您只想通过buttonclick从第2个活动返回到第1个活动,例如只需在其onClick()方法中调用finish()。只有当前活动将被终止,因此第一个活动将再次显示。
如果您只想再次显示第一个活动,则无需修改onBackPressed()方法。不要在onBackPressed()中调用finish()!第一个活动存储在backstack中,只有在操作系统需要释放一些内存时才会重新创建。 另见: http://developer.android.com/training/basics/activity-lifecycle/recreating.html