Android从Gridlayout访问子文本视图

Android从Gridlayout访问子文本视图,android,onclicklistener,android-gridlayout,Android,Onclicklistener,Android Gridlayout,目前我有一个Gridlayout,它由NxN数量的文本视图组成 我一直在尝试使用onclick访问网格中的单个textview对象,但它不起作用 下面是我的代码片段 TextView tv; final GridLayout gv = (GridLayout) getActivity().findViewById(R.id.map_grid); gv.setOnClickListener(new View.OnClickListener() { public void onC

目前我有一个Gridlayout,它由NxN数量的文本视图组成

我一直在尝试使用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>

任何帮助都将不胜感激

尝试使用setOnItemClickListener而不是setOnClickListener

gv.setOnItemClickListener(new View.OnClickListener() {
    public void onClick(View v) {

      // write your code
    }
});
你可以试试这个:

gv.setOnClickListener(new View.OnClickListener() {
    public void onClick(View v) {
  TextView  textview = (TextView) view;
            position = i;
                if(position != 0){
                    textview.setText("Hi");
}}});

嗨,SEONITIMCLICK侦听器无法解决,您知道问题出在哪里吗?当前我已将其置于onCreateHi下,这不起作用,我仍在尝试搜索访问子文本视图的方法在我的应用程序上工作我可以与您共享我的代码我找到了一个解决方法,为每个子文本视图设置onclicklistener,然后在其中执行操作,而不是通过gridlayout onclick访问。它现在似乎起作用了