Java 将视图添加到滚动视图中的线性布局中会在刷新时擦除
我目前正在为android开发一个行输入计算器应用程序。单击按钮“Button”时,应将两个文本视图添加到滚动视图内的线性布局“holder\u main\u layout”中。其中一个文本视图是左侧编辑文本的文本值,另一个是右侧评估的答案。所有这些都是可行的,但当我重新调整手机方向(从垂直到横向或横向到不同的横向)时,线性布局又是空白的。我知道让所有这些文本视图都无法访问是不明智的,但这是目前概念的证明 为什么旋转手机时滚动视图为空。我怎样才能防止这种情况发生Java 将视图添加到滚动视图中的线性布局中会在刷新时擦除,java,android,refresh,scrollview,android-linearlayout,Java,Android,Refresh,Scrollview,Android Linearlayout,我目前正在为android开发一个行输入计算器应用程序。单击按钮“Button”时,应将两个文本视图添加到滚动视图内的线性布局“holder\u main\u layout”中。其中一个文本视图是左侧编辑文本的文本值,另一个是右侧评估的答案。所有这些都是可行的,但当我重新调整手机方向(从垂直到横向或横向到不同的横向)时,线性布局又是空白的。我知道让所有这些文本视图都无法访问是不明智的,但这是目前概念的证明 为什么旋转手机时滚动视图为空。我怎样才能防止这种情况发生 public class mai
public class main extends Activity {
/** Called when the activity is first created. */
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
final LinearLayout holder_main_layout=(LinearLayout)findViewById(R.id.linearLayout2);
final CalculatorBase calc=new CalculatorBase();
final Button button = (Button) findViewById(R.id.button1);
final ScrollView scroller=(ScrollView)findViewById(R.id.scrollView1);
final main self=this;
final EditText input_text=(EditText)findViewById(R.id.editText1);
button.setOnClickListener(new View.OnClickListener() {
public void onClick(View v) {
TextView input_view=new TextView(self);
input_view.setText(input_text.getText());
holder_main_layout.addView(input_view);
TextView output_view=new TextView(self);
output_view.setText(String.valueOf(calc.eval_expression(input_text.getText().toString())));
output_view.setGravity(5);
holder_main_layout.addView(output_view);
input_text.setText("");
scroller.fullScroll(ScrollView.FOCUS_UP);
}
});
}
}默认情况下,当方向改变时,Android会销毁并重新创建活动。你可以做两件事:
- 保存状态如下所述:
- 自己处理屏幕方向更改:
android:configChanges
行:
<activity android:name=".MyActivity"
android:configChanges="orientation|keyboardHidden"
android:label="@string/app_name">
谢谢,我的应用程序现在运行得很好
@Override
public void onConfigurationChanged(Configuration newConfig) {
super.onConfigurationChanged(newConfig);
}