Как мне заменить конкретное изображение, если у меня есть информация о местоположении этого изображения в gridview?

#android #android-imageview #android-gridview

#Android #android-imageview #android-gridview

Вопрос:

Я использую gridview с адаптером изображений для рендеринга изображений.

Я хочу знать, возможно ли заменить конкретное изображение, если у меня есть информация о местоположении этого изображения?

Для. например, у меня есть переменная previous location, в которой я сохраняю предыдущую выбранную позицию изображения, допустим, ее 1 (прямоугольное изображение). Теперь я хочу заменить изображение в местоположении 1 каким-либо другим изображением (квадратным изображением). Как я могу это сделать?

Ответ №1:

проверьте, getChildAt (position) APIhttp://developer.android.com/reference/android/view/ViewGroup.html#getChildAt (int)

как только вы получите ссылку на конкретный дочерний вид, вы можете изменить изображение.

Комментарии:

1. спасибо sat за ответ. Я прочитал документацию, я хочу знать, правильно ли это: View rv=grid_main.getChildAt(location); потому что для rv нет метода setImageResource

2. Вы должны получить ссылку на gridview, GridView grid = (GridView) findViewById(R.id.gridviewid) , затем получить дочерний элемент, используя ImageView v = grid.getChild(position); v.setImageBitmap(bitmap);

3. Я должен использовать ImageView v = (ImageView)grid.getChildAt(location); v.setImageResource (mThumbIds [position]); Но когда я запускаю приложение, оно показывает, что приложение неожиданно остановилось

4. Что за журнал ошибок? Если это исключение ClassCast , то проверьте, какой вид используется в дочерних элементах GridView. попробуйте с View v и установите background.

5. Отображается следующая ошибка: 05-24 13:28:27.529: ОШИБКА / AndroidRuntime(301): ФАТАЛЬНОЕ ИСКЛЮЧЕНИЕ: main 05-24 13:28:27.529: ОШИБКА / AndroidRuntime (301): java.lang. ClassCastException: android.widget. LinearLayout 05-24 13:28:27.529: ОШИБКА / AndroidRuntime(301): в com.example.moodjournal.MoodJournal$ImageAdapter $ 1.onClick(MoodJournal.java:135)