0
在我的活动中,我有一个字段是一个按钮。它的值始终是在活动中动态创建的LinearLayout中当前选定的按钮。我希望此字段始终指向当前选中的按钮,但是,如果我选择一个按钮然后更改配置,则该字段不再指向所选按钮。我可以做什么以便我可以在配置更改中保存此值? 这里是我的代码:如何在配置更改中保存按钮?
Activity.java
public class Activity extends AppCompatActivity {
Button myButton;
LinearLayout myLayout;
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
for (int i = 0; i < 2; i++) {
LinearLayout row = new LinearLayout(this);
LayoutParams rowParams = new LayoutParams(LayoutParams.MATCH_PARENT, LayoutParams.MATCH_PARENT, 1f);
row.setLayoutParams(rowParams);
for (int j = 0; j < 2; j++) {
final Button button = new Button(this);
button.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
setMyButton(button);
}
});
}
row.addView(button);
}
myLayout.addView(row);
}
public void setMyButton(Button button) {
myButton = button;
}
}
我已经调查使用一些savedInstanceState方法,但他们都没有一个按钮,只有整数和布尔值。 我该怎么做才能在配置更改时保留myButton的值?
你可以保存所有按钮的数组当你产生这些然后只保存数组中的数组索引(一个int)。 – Henry
谢谢!这对我很好。 –