目前我有一个Gridlayout,它包含NxN个TextViews。
我一直在尝试使用onclick访问网格中的各个textview对象,但它无法正常工作。
以下是我的代码片段
TextView tv;
final GridLayout gv = (GridLayout) getActivity().findViewById(R.id.map_grid);
gv.setOnClickListener(new View.OnClickListener() {
public void onClick(View v) {
tv = (TextView)gv.getFocusedChild();//gives me a null object
System.out.println(tv.getId());//error
}
});
是因为getFocusedChild不能这样工作吗?
我的gridView
的xml <GridLayout
android:id="@+id/map_grid"
android:layout_width="800px"
android:layout_height="600px"
android:layout_marginTop="8dp"
android:columnCount="20"
android:gravity="center"
android:horizontalSpacing="30dp"
android:paddingLeft="20dp"
android:rowCount="15"
android:stretchMode="columnWidth"
android:verticalSpacing="30dp" >
</GridLayout>
任何帮助将不胜感激!
答案 0 :(得分:1)
你可以尝试这个:
gv.setOnClickListener(new View.OnClickListener() {
public void onClick(View v) {
TextView textview = (TextView) view;
position = i;
if(position != 0){
textview.setText("Hi");
}}});
答案 1 :(得分:0)
尝试使用setOnItemClickListener而不是setOnClickListener
gv.setOnItemClickListener(new View.OnClickListener() {
public void onClick(View v) {
// write your code
}
});