0

在一个活动中,我从自定义对象加载了一些文本值。

这些文本值进入 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
        }
    });

 }

现在我注意到当我点击上一个或下一个按钮然后旋转设备时,视图会更新。我试图在不旋转设备的情况下重现它。

谢谢

4

1 回答 1

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());
}
于 2013-03-12T00:17:39.773 回答