Этот адаптер GridView создает ImageView
из макета. Все изображения загружаются с URLs
в отношении базы данных item IDs
, где ID получен из JSONArray
. Скажем, теперь в представлении отображаются позиции с ID: 1,3,4,7
. Поскольку элементы GridView являются динамическими, позиция (начиная с 0) не может действительно идентифицировать мой элемент в GridView. Есть ли другие способы идентифицировать это изображение из идентификаторов элемента базы данных?Реализация OnItemClickListener() для динамического GirdView/ListView
public OnItemClickListener ClickListner = new OnItemClickListener()
{
@Override
public void onItemClick(AdapterView<?> parent, View view, int position, long id) {
//Toast.makeText(getApplicationContext(),
// ""+position, Toast.LENGTH_SHORT).show();
//Identification code for the item to be added here
Intent view =
new Intent(main.this, View.class);
view.putExtra("ID", id);
//expected to have an ID equal to database item ID
startActivity(view);
}
};
Это замечательно. парень. Я успешно передал идентификатор моей следующей операции со вторым вариантом, который вы упомянули. Однако вы имеете в виду, что вся информация, отличная от ИД, может быть передана следующей Деятельности putExtra («информация», getItem (позиция))? Но я думаю, что лучше использовать другую информацию после того, как пользователь нажал на элемент, который снова запрашивает базу данных для получения подробной информации. – Henry
Возможно, но для такого рода вещей я считаю, что лучше всего смотреть на случай. Но посмотрите на getSerializableExtra(), потому что вы обязательно столкнетесь с ситуациями, когда лучше будет использовать – vanleeuwenbram
, как разные getSerializableExtra() по сравнению с getExtra()? Я знал, что Serializable Data используется для потока ввода-вывода. Кстати, теперь я могу добавить дополнительную информацию, используя setExtra() даже с getTag(), поскольку мой JSONArary сохраняется как переменная для Activity. – Henry