我有一个ScrollView
,在特定条件下可以在其中创建多个Fragments
。我想在向ScrollView添加新片段以使其滚动时使Fragment
位于屏幕的最顶部。这是我的代码:
在Fragment
中,我称之为onCreateView
(因为Fragments
是动态生成的)
((MainActivity)getActivity()).scrollToFrag(frag_number+"");
在我的MainActivity.class内部
public final void scrollToFrag(final String frag){
scrollView.postDelayed(new Runnable() {
public void run() {
scrollView.smoothScrollTo(0, getSupportFragmentManager().findFragmentByTag(frag).getView().getTop());
}
}, 100);
}
我注意到滚动动作很小,但不是我所需要的(Fragment
根本无法到达顶部)
答案 0 :(得分:0)
通过在Fragment内部的可运行代码中运行代码来解决此问题
view.postDelayed(new Runnable() {
@Override
public void run() {
((MainActivity)getActivity()).scrollToFrag(frag_number+"");
}
}, 200);