我实际上尝试了一些非常简单的事情,但是 android 和 java 让我的生活变得不容易。这个想法是滚动到表格布局中的指定子项。
我正在使用 Layoutinflater 将条目添加到表格布局中,如下所示:
TableLayout tl = (TableLayout)findViewById(R.id.myTableLayout3);
LayoutInflater inflater = (LayoutInflater)getSystemService(Context.LAYOUT_INFLATER_SERVICE);
View itemView = inflater.inflate(R.layout.element_news, null);
TextView firstname = (TextView) itemView.findViewById(R.id.tvname);
firstname.setText(FN + " " + iLN);
TextView date = (TextView) itemView.findViewById(R.id.tvdate);
date.setText(newPD);
TextView post = (TextView) itemView.findViewById(R.id.tvpost);
post.setText(c.getString(iP));
post.setFocusable(true);
tl.addView(itemView, new TableLayout.LayoutParams(LayoutParams.FILL_PARENT,LayoutParams.WRAP_CONTENT));
我尝试将 getChildAt() 用于表格布局,并且确实得到了孩子,但是当我使用孩子时,它会返回所有“0”。
示例代码:
LinearLayout row = (LinearLayout) tl.getChildAt(1);
TextView tv = (TextView) row.getChildAt(1);
tv.requestFocus();
Log.w("news", Integer.toString(tv.getHeight()));
对于 TextView 高度,它返回“0”,即使它包含多行并且 requestfocus() 也不起作用。
那么如何在表格布局中滚动到子项?
提前感谢您的帮助。