2014-09-16 3 views
0

내 질문 (How do I get the selected item from a Gridview with ImageAdapter? (Android))에 대한 해결책을 찾기 위해이 질문을 보았지만 아무 것도 찾을 수 없습니다.android의 맞춤 GridView에서 선택한 행의 항목을 가져 오는 방법은 무엇입니까?

enter image description here

지금 나는의 값을 읽을 수 -

나는 이미지 뷰와 텍스트 뷰 거기에 코드와 사용자 정의의 GridView를 IS-

public class ListArray extends BaseAdapter { 

Context con; 
List<String> obj; 
private final int[] Imageid; 

public ListArray(Context con, List<String> obj, int[] imageId) { 
    this.con = con; 
    this.obj = obj; 
    this.Imageid = imageId; 
} 

@Override 
public int getCount() { 
    return obj.size(); 
} 

@Override 
public Object getItem(int position) { 
    return position; 
} 

@Override 
public long getItemId(int position) { 
    return position; 
} 

@Override 
public View getView(final int position, View convertView, ViewGroup parent) { 
    LayoutInflater inf = (LayoutInflater) con 
      .getSystemService(Context.LAYOUT_INFLATER_SERVICE); 
    convertView = inf.inflate(R.layout.liststyle, null); 
    TextView tv = (TextView) convertView.findViewById(R.id.textViewls1); 
    ImageView imageView = (ImageView) convertView 
      .findViewById(R.id.imageViewls1); 
    tv.setText(obj.get(position)); 
    imageView.setImageResource(Imageid[0]); 
    return convertView; 
} 
} 

이 내 GRIDVIEW되어 있습니다 특정 행을 클릭하면 TextView가 표시됩니다. 예를 들어 첫 번째 행을 클릭하면 Group1을 가져오고 싶습니다. 그래서 나는 다음과 같은 코드 - getSelectedItem 게다가

gv.setOnItemClickListener(new OnItemClickListener() { 

     @SuppressLint("NewApi") 
     @Override 
     public void onItemClick(AdapterView<?> arg0, View arg1, int arg2, 
       long arg3) { 

      Toast.makeText(getBaseContext(), 
        "" + arg0.getSelectedItem(), Toast.LENGTH_SHORT) 
        .show();     
     } 
    }); 

() 나는 것들은 arg0과 함께 몇 가지 다른 기능을 시도,하지만 아무것도 나에게 원하는 결과를주지 않았다.

누군가 Gridview에서 특정 값을 읽는 방법을 말해 줄 수 있습니까? 이 같은

+0

당신이 목록 항목 클릭에 또한 ArrayList의에서 아이템을 얻을 수 있습니다. – Piyush

+0

@PG_Android 어떻게? 답으로 설명해주십시오. –

+0

원하는 것을 얻으시겠습니까? "Group1"과 같은 항목의 이름을 의미합니까? – Piyush

답변

3

뭔가 작업을해야합니다 :

gv.setOnItemClickListener(new OnItemClickListener() { 

    @SuppressLint("NewApi") 
    @Override 
    public void onItemClick(AdapterView<?> arg0, View arg1, int arg2, 
      long arg3) { 
     TextView tv =(TextView) arg1.findViewById(R.id.textViewInYourList);//your textview id 
     Toast.makeText(myContext, 
       "" + tv.getText().toString(), Toast.LENGTH_SHORT) 
       .show();     
    } 
});