我创建包含多个文本视图的布局。 我在一个ArrayList被称为_resultId类变量保存的文本视图的标识。
现在我想创造出想滚动到正确的文本视图(第一个按钮,第一个文本视图等)按钮
问题是:如何将正确的ID传递给每对压法的按钮?
我尝试使用全局变量_counter但是当我运行该程序的所有按钮滚动到最后文本视图
该方法的代码:
private void addNavigationView(ViewGroup navigationLayout, ArrayList<Perek> mishnayot)
{
for (int i=0;i<mishnayot.size();i++)
{
_counter=i;
String currentOt=mishnayot.get(i).getOt();
Button button = new Button(getBaseContext());
button.setText(currentOt);
if (_resultId==null)
throw new IllegalAccessError("missing result id link cannot be created");
button.setOnClickListener(new OnClickListener()
{
@Override
public void onClick(View arg0) //make it scroll to correct textview
{
new Handler().post(new Runnable()
{
@Override
public void run()
{
View currentView=findViewById(_resultId.get(_counter));
ScrollView scrollView=(ScrollView) findViewById(R.id.resultScroll);
scrollView.scrollTo(0, currentView.getTop());
}
});
}
});
navigationLayout.addView(button);//add the button to panel
}
navigationLayout.setVisibility(View.VISIBLE);
}