2017-10-04 9 views
0

내 활동에 GridView가 있습니다. GridView에 2 개의 요소가 있습니다. 하나는 ImageView와 TextView입니다.어댑터의 주요 활동에서 gridview의 하위 항목에서 click 이벤트를 가져옵니다.

나는 GridView 어댑터가 아닌 액티비티에서이 작업을 수행하기를 바랍니다.

이제 ImageView를 사용하여 getView() 내부에서 클릭 동작을 호출 할 수있는 어댑터가 있지만 그렇게하고 싶지는 않습니다. 나는 처음으로 내가 이미지 뷰를 발생하도록되어 작업을 클릭하면이 문제가 여기

발생 // 내가 전화 활동,

GridView gridview = (GridView) findViewById(R.id.gridview); 
gridview.setAdapter(new ImageAdapter(this, items)); 

gridview.setOnItemClickListener(new AdapterView.OnItemClickListener() { 
     public void onItemClick(AdapterView<?> parent, View v, int position, long id) { 

     //THIS WORKS FINE 
     String string = ((TextView) v.findViewById(R.id.text)).getText().toString(); 
     Log.d("string",string); 

     //THE PROBLEM OCCURS HERE 
     ImageView capture = (ImageView) v.findViewById(R.id.capture); 
     capture.setOnClickListener(new View.OnClickListener() { 
       @Override 
       public void onClick(View view) { 

       } 
      }); 
} 

일어날 싶어 발생하지 않습니다. 대신 두 번째 클릭 이상에서 발생합니다.

여기 제가이 문제와 관련이 있습니다. 이 동작을 첫 번째 클릭에서 발생시키고 두 번째 클릭에서 발생시키지 않습니다.

+0

두 명의 클릭 수신기가 각각 내부에 있기 때문에. TextView와 ImageView를 별도로 클릭하려면'getView()'를 사용해야합니다. –

답변