Ok .. Tôi phải xem cái gì đó thật đơn giản ở đây, nhưng tôi nghĩ tôi đang cố gắng làm một cái gì đó khá cơ bản .. Chỉ cần giữ vị trí cuộn của ScrollView theo hướng thay đổi ...ScrollView .scrollĐể không hoạt động? Lưu vị trí ScrollView khi xoay
Đây là mã cho onSaveInstanceState của tôi và onRestoreInstanceState .. sView là vùng chứa cho bố cục ScrollView. Trong scrollview của tôi là một linearlayout với rất nhiều textviews.
@Override
public void onSaveInstanceState(Bundle outState)
{
//---save whatever you need to persist—
outState.putInt("sViewX",sView.getScrollX());
outState.putInt("sViewY",sView.getScrollY());
super.onSaveInstanceState(outState);
}
@Override
public void onRestoreInstanceState(Bundle savedInstanceState)
{
super.onRestoreInstanceState(savedInstanceState);
sViewX = savedInstanceState.getInt("sViewX");
sViewY = savedInstanceState.getInt("sViewY");
sView.scrollTo(sViewX, sViewY);
}
Nếu tôi đặt Bánh mì nướng với giá trị của sViewX và sViewY trên Khôi phục, giá trị được giữ và sửa.
Chỉnh sửa: Tôi vừa cố gắng thực hiện sView.scrollTo (0,150); trong onCreate của tôi .. chỉ để xem liệu điều đó có mở hoạt động ở mức 150px hay không, và điều đó không xảy ra. Tôi nghĩ rằng vấn đề của tôi phải làm với phương thức .scrollTo.
Để tham khảo, nếu bạn sử dụng phân đoạn, onRestoreInstanceState phải truy cập phương thức onActivityCreated(). Ngoài ra, hãy nhớ kiểm tra: if (savedInstanceState! = Null) –