2017-09-07 12 views
0

現在、私はNxN個のTextViewsで構成されるGridlayoutを持っています。Android Gridlayoutの子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

がsetOnClickListener代わり

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

     // write your code 
    } 
}); 
+0

こんにちは、seOnItemClickListenerは解決できない、あなたは問題が何であるかを知っているのですか?現在、私はこれをonCreate()の下に置いています – Jackelll

1

をsetOnItemClickListenerを使用してみてくださいあなたはこれを試すことができます:

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

こんにちは、これはうまくいきません、私はまだ子供たちのテキストにアクセスする方法を探していますtextviews – Jackelll

+0

私のアプリケーションでの仕事私はあなたと私のコードを共有することができます – Hiral

+0

私は回避策は、子のtextviewのそれぞれに対してonclicklistenerを設定し、gridlayout onclickからアクセスする代わりに、その中でアクションを実行します。それは今働いているようだ – Jackelll

関連する問題