在活动中,我从自定义对象加载一些文本值。
这些文本值进入textViews,textViews显示在屏幕上。
我有上一个和下一个按钮,当点击时,应该使用新值刷新textViews。
以下是一些代码:
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity);
myObj = (Object)getIntent().getSerializableExtra("Stuff");
myTextView.setText(myObj.currentData().getText());
prevButton = (Button) findViewById(R.id.prevButton);
nextButton = (Button) findViewById(R.id.nextButton);
prevButton.setOnClickListener(new View.OnClickListener() {
public void onClick(View v) {
Log.d("TAG", "prevButton tapped");
myObj.prevData();
//Would like to call refresh view here
}
});
nextButton.setOnClickListener(new View.OnClickListener() {
public void onClick(View v) {
Log.d("TAG", "nextButton tapped");
myObj.nextData();
//Would like to call refresh view here too
}
});
}
现在我注意到当我点击上一个或下一个按钮然后旋转设备时,视图会更新。我试图在不旋转设备的情况下重现它。
由于
答案 0 :(得分:1)
你可以保持简单并做这样的事情:
public void onCreate(Bundle onSavedInstanceState) {
// Other code
refreshTextView();
}
public void onClick(View v) {
// Advance currentData()
refreshTextView();
}
private void refreshTextView() {
myTextView.setText(myObj.currentData().getText());
}