我正在尝试使用多个ImageButtons实现HorizontalScrollView,到目前为止这看起来很棒,因为我可以滚动我的按钮但是我想点击一个按钮(例如:ImageButton 7),它将我带到Activity 7我想要的地方HorizontalScrollView保持在从先前活动滚动的相同位置,并且在更改活动后不会重置为原始位置。
因此,在简单的术语中,我想获得HorizontalScrollView的位置,并且可能使用intent将值传递给下一个活动,然后在下一个活动中设置这些位置。希望我有意义。
@Override
protected void onCreate(Bundle savedInstanceState) {
this.requestWindowFeature(Window.FEATURE_NO_TITLE);
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
final HorizontalScrollView hsv = (HorizontalScrollView) findViewById(R.id.hsv);
// btnFeatured
hsv.post(new Runnable() {
@Override
public void run() {
// Get the button.
ibSeven = (ImageButton) findViewById(R.id.ibSeven);
ibSeven.setImageResource(R.drawable.ib_seven_h);
ibSeven.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
// TODO Auto-generated method stub
startActivity(new Intent(MainActivity.this, ActivitySeven.class));
}
});
答案 0 :(得分:1)
制作两个变量以保存scrollView的deleted = original.filter( function( el ) {
return edited.indexOf( el ) < 0;
}); //returns [10,100]
added = edited.filter( function(el) {
return original.indexOf(el) < 0;
}); //returns[120,140,70]
和X
位置
Y
覆盖public static int scrollX = 0;
public static int scrollY = -1;
并保存此处的位置
onPause
然后在@Override
protected void onPause()
{
super.onPause();
scrollX = hsv.getScrollX();
scrollY = hsv.getScrollY();
}
内将滚动点移动到保存状态
onResume
答案 1 :(得分:0)
活动1:
scrollX = hsv.getScrollX();
scrollY = hsv.getScrollY();
Intent intent = new Intent(MainActivity.this, ActivitySeven.class);
intent.putExtra("value_scrollX", scrollX);
intent.putExtra("value_scrollY", scrollY);
startActivity(intent);
活动2:
Intent intent = getIntent();
final int scrollX = intent.getIntExtra("value_scrollX", 0);
final int scrollY = intent.getIntExtra("value_scrollY", 0);
hsv.post(new Runnable() {
@Override
public void run() {
hsv.scrollTo(scrollX, scrollY);
}
});