#android #onclick #android-listview
#Android #onclick #android-listview
Вопрос:
я довольно новичок в разработке Android, но у меня возникли некоторые проблемы, пытаясь заставить мои элементы listview открывать одно действие, но с другим отображаемым в нем в зависимости от элемента. Есть ли в любом случае view.getContext() с привязанным к нему определенным drawable . вот мой класс listview:
lv.setOnItemClickListener (new OnItemClickListener() {
public void onItemClick(AdapterView<?> parent, View view,
int position, long id) {
// When clicked, bring up MockClass.class
if(position == 1)
{
Intent myIntent = new Intent(view.getContext(), MockClass.class);
startActivityForResult(myIntent, 0);
}
if(position == 2)
{
Intent myIntent = new Intent(view.getContext(), MockClass.class);
startActivityForResult(myIntent, 0);
}
if(position == 3)
{
Intent myIntent = new Intent(view.getContext(), MockClass.class);
startActivityForResult(myIntent, 0);
}
if(position == 4)
{
Intent myIntent = new Intent(view.getContext(), MockClass.class);
startActivityForResult(myIntent, 0);
}
if(position == 5)
{
Intent myIntent = new Intent(view.getContext(), MockClass.class);
startActivityForResult(myIntent, 0);
}
if(position == 6)
{
Intent myIntent = new Intent(view.getContext(), MockClass.class);
startActivityForResult(myIntent, 0);
}
if(position == 7)
{
Intent myIntent = new Intent(view.getContext(), MockClass.class);
startActivityForResult(myIntent, 0);
}
if(position == 8)
{
Intent myIntent = new Intent(view.getContext(), MockClass.class);
startActivityForResult(myIntent, 0);
}
if(position == 9)
{
Intent myIntent = new Intent(view.getContext(), MockClass.class);
startActivityForResult(myIntent, 0);
}
if(position == 10)
{
Intent myIntent = new Intent(view.getContext(), MockClass.class);
startActivityForResult(myIntent, 0);
}
Комментарии:
1. Можете ли вы указать, что вы имеете в виду, добавляя drawble к запуску действий?
2. итак, у меня есть 10 элементов listview, у меня есть 10 чертежей для каждого из этих разных элементов, это просто изображения — .jpg. я хочу иметь ‘MockClass.class «отобразите другое изображение в зависимости от того, какой элемент listview я нажимаю
3. приведенный выше код взят из моего listview.class
Ответ №1:
Вы должны использовать дополнительные функции Intent, такие как putExtra, для объекта intent. Теперь вы можете передавать растровое изображение как дополнительное напрямую, но я бы не советовал этого делать. Вы должны получить путь к изображению, которое хотите передать следующему действию, и передать его как дополнительное. Внутри вашего другого действия вы должны извлечь это дополнительно, используя GetIntent().getStringExtra(«ключ») и загрузить свой Drawable, используя этот путь.