我编写了一个简单的应用程序,它有一个 TextView,当点击它时,它会变成一个 EditText。
import android.app.Activity;
import android.content.Context;
import android.os.Bundle;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.EditText;
import android.widget.LinearLayout;
import android.widget.TextView;
public class Main extends Activity {
static Context context;
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
context = this;
LinearLayout lL = new LinearLayout(this);
TextView tv1 = new TextView(this);
tv1.setText("tv1");
tv1.setClickable(true);
lL.addView(tv1);
setContentView(lL);
tv1.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View v) {
LinearLayout parent = (LinearLayout) v.getParent();
parent.removeAllViews();
EditText eT = new EditText(context);
eT.setHint("Enter text here");
parent.addView(eT, -1, -2);
eT.requestFocus();
}
});
}
}
但是,当我旋转手机时,我输入的文本消失了,视图返回到 TextView。
我知道,当我旋转手机时,活动会暂停、停止、被破坏、重新创建、重新启动、再次恢复。但是我怎样才能让我的 EditView 保持它的文本,焦点......?
我知道这是一个愚蠢的问题,因为我很可能错过了 developer.android.com 的活动生命周期指南中的一些内容