2017-09-07 3 views
0

현재 NxN 개의 TextViews로 구성된 Gridlayout이 있습니다.안드로이드 Gridlayout에서 자식 TextViews에 액세스

나는 onclick을 사용하여 그리드 내부의 개별 textview 개체에 액세스하려고 시도했지만 작동하지 않습니다. 다음은

는 getFocusedChild 이런 식으로 작동하지 않기 때문에 내 코드

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 

     } 
    }); 

의 조각이 그것을이다? 내 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

봅니다

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

     // write your code 
    } 
}); 
+0

, 당신은 문제가 무엇을 알 수 있습니까? 현재이 위치는 onCreate() 아래에 있습니다. – Jackelll

1

대신 setOnClickListener setOnItemClickListener를 사용하는이 하나

안녕, seOnItemClickListener를 해결할 수없는
gv.setOnClickListener(new View.OnClickListener() { 
    public void onClick(View v) { 
    TextView textview = (TextView) view; 
      position = i; 
       if(position != 0){ 
        textview.setText("Hi"); 
}}}); 
+0

안녕하세요, 아직 작동하지 않습니다. 어린이 텍스트 뷰에 액세스 할 수있는 방법을 계속 찾으려고합니다. – Jackelll

+0

내 응용 프로그램에 대한 작업 내 코드를 공유 할 수 있습니다. – Hiral

+0

찾았습니다. 해결 방법은 자식 textview 각각에 대해 onclicklistener를 설정 한 다음 gridlayout onclick을 통해 액세스하는 대신 그 내부에서 작업을 수행하는 것입니다. 지금 일하고있는 것 같습니다. – Jackelll

관련 문제