Как получить элемент из выбранной строки в пользовательском GridView в Android?

Я искал этот вопрос для решения моего вопроса (Как мне получить выбранный элемент из Gridview с помощью ImageAdapter? (Android) ), но я не могу его найти.

У меня есть собственный GridView с ImageView и TextView, а код -

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 при нажатии на 1-ю строку. Итак, я закодировал следующее -

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();                
        }
    });

Помимо getSelectedItem(), я пробовал некоторые другие функции вместе с arg0, но ничего не дало желаемого результата.

Может ли кто-нибудь сказать мне, как прочитать конкретное значение из Gridview?


person Tomin Jacob    schedule 16.09.2014    source источник
comment
вы можете получить элемент из arraylist также при щелчке элемента списка.   -  person Piyush    schedule 16.09.2014
comment
@PG_Android Как? Пожалуйста, опишите это как ответ.   -  person Tomin Jacob    schedule 16.09.2014
comment
Что вы хотите получить? Означает ли имя элемента, как Group1?   -  person Piyush    schedule 16.09.2014
comment
@PG_Android Я получил ноль, количество строк (0 и 1), что-то еще вроде android:layout@..... Но я не получил Group1 или Poly1 при нажатии на определенные строки.   -  person Tomin Jacob    schedule 16.09.2014


Ответы (1)


Что-то вроде этого должно работать:

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();                
    }
});
person Illegal Argument    schedule 16.09.2014