Я получаю значки некоторых установленных приложений, используя этот код:
Drawable icon = getPackageManager().getApplicationIcon("com.example.example");
imageView.setImageDrawable(icon);
затем я хотел бы добавить это изображение в представление сетки, сформированное каким-либо изображением в разрешении. я не хочу менять адаптер, используемый с моим GridView. Я использую для каждого элемента значок и изображение, сохраненные в двух массивах.
ArrayList listCountry = new ArrayList();
ArrayList listFlag = new ArrayList();
Я добавляю элемент в свой listFlag следующим образом: listFlag.add(R.drawable.ppt);
Итак, как мне преобразовать Drawble в int, чтобы добавить его в listFlag? мой адаптер для просмотра элемента моего GridView представлен кодом ниже:
public class GridviewAdapter extends BaseAdapter
{
private ArrayList listCountry = new ArrayList();
private ArrayList listFlag = new ArrayList();
private Activity activity;
private Context context;
public GridviewAdapter( ) {
super();
}
public GridviewAdapter(Activity activity, ArrayList listC, ArrayList listF) {
super();
this.listCountry.clear();
this.listFlag.clear();
//this.notifyDataSetChanged();
this.listCountry.addAll(listC);
this.listFlag.addAll(listF);
this.activity = activity;
this.context = activity.getApplicationContext();
this.notifyDataSetChanged();}
@Override
public int getCount() {
// TODO Auto-generated method stub
return listCountry.size();
}
@Override
public String getItem(int position) {
// TODO Auto-generated method stub
return listCountry.get(position);
}
@Override
public long getItemId(int position) {
// TODO Auto-generated method stub
return 0;
}
public static class ViewHolder
{
public ImageView imgViewFlag;
public TextView txtViewTitle;
public TextView txtViewDescription;
}
public void setFile(ArrayList listC, ArrayList listF) {
listFlag.clear();
listCountry.clear();
listCountry.addAll(listC);
listFlag.addAll(listF);
notifyDataSetChanged();
}
@Override
public View getView(int position, View convertView, ViewGroup parent) {
// TODO Auto-generated method stub
ViewHolder view;
LayoutInflater inflator = activity.getLayoutInflater();
if(convertView==null)
{
view = new ViewHolder();
convertView = inflator.inflate(R.layout.gridview_row, null);
view.txtViewTitle = (TextView) convertView.findViewById(R.id.textView1);
view.imgViewFlag = (ImageView) convertView.findViewById(R.id.imageView1);
view.txtViewDescription = (TextView) convertView.findViewById(R.id.textView2);
convertView.setTag(view);
convertView.setLayoutParams(new GridView.LayoutParams((int) context.getResources().getDimension(R.dimen.r_width), (int) context.getResources().getDimension(R.dimen.r_height)));
}
else
{
view = (ViewHolder) convertView.getTag();
}
view.txtViewTitle.setText(listCountry.get(position));
view.txtViewTitle.setSelected(true);
view.txtViewDescription.setText(SessionChoose.DESCRIPTION.get(position));
view.txtViewDescription.setSelected(true);
view.imgViewFlag.setImageResource(listFlag.get(position));
return convertView;
}
}
Подробнее здесь: https://stackoverflow.com/questions/236 ... ble-to-int
Android: Как преобразовать drawable в int? ⇐ Android
Форум для тех, кто программирует под Android
-
Anonymous
1772769650
Anonymous
Я получаю значки некоторых установленных приложений, используя этот код:
Drawable icon = getPackageManager().getApplicationIcon("com.example.example");
imageView.setImageDrawable(icon);
затем я хотел бы добавить это изображение в представление сетки, сформированное каким-либо изображением в разрешении. я не хочу менять адаптер, используемый с моим GridView. Я использую для каждого элемента значок и изображение, сохраненные в двух массивах.
ArrayList listCountry = new ArrayList();
ArrayList listFlag = new ArrayList();
Я добавляю элемент в свой listFlag следующим образом: listFlag.add(R.drawable.ppt);
Итак, как мне преобразовать Drawble в int, чтобы добавить его в listFlag? мой адаптер для просмотра элемента моего GridView представлен кодом ниже:
public class GridviewAdapter extends BaseAdapter
{
private ArrayList listCountry = new ArrayList();
private ArrayList listFlag = new ArrayList();
private Activity activity;
private Context context;
public GridviewAdapter( ) {
super();
}
public GridviewAdapter(Activity activity, ArrayList listC, ArrayList listF) {
super();
this.listCountry.clear();
this.listFlag.clear();
//this.notifyDataSetChanged();
this.listCountry.addAll(listC);
this.listFlag.addAll(listF);
this.activity = activity;
this.context = activity.getApplicationContext();
this.notifyDataSetChanged();}
@Override
public int getCount() {
// TODO Auto-generated method stub
return listCountry.size();
}
@Override
public String getItem(int position) {
// TODO Auto-generated method stub
return listCountry.get(position);
}
@Override
public long getItemId(int position) {
// TODO Auto-generated method stub
return 0;
}
public static class ViewHolder
{
public ImageView imgViewFlag;
public TextView txtViewTitle;
public TextView txtViewDescription;
}
public void setFile(ArrayList listC, ArrayList listF) {
listFlag.clear();
listCountry.clear();
listCountry.addAll(listC);
listFlag.addAll(listF);
notifyDataSetChanged();
}
@Override
public View getView(int position, View convertView, ViewGroup parent) {
// TODO Auto-generated method stub
ViewHolder view;
LayoutInflater inflator = activity.getLayoutInflater();
if(convertView==null)
{
view = new ViewHolder();
convertView = inflator.inflate(R.layout.gridview_row, null);
view.txtViewTitle = (TextView) convertView.findViewById(R.id.textView1);
view.imgViewFlag = (ImageView) convertView.findViewById(R.id.imageView1);
view.txtViewDescription = (TextView) convertView.findViewById(R.id.textView2);
convertView.setTag(view);
convertView.setLayoutParams(new GridView.LayoutParams((int) context.getResources().getDimension(R.dimen.r_width), (int) context.getResources().getDimension(R.dimen.r_height)));
}
else
{
view = (ViewHolder) convertView.getTag();
}
view.txtViewTitle.setText(listCountry.get(position));
view.txtViewTitle.setSelected(true);
view.txtViewDescription.setText(SessionChoose.DESCRIPTION.get(position));
view.txtViewDescription.setSelected(true);
view.imgViewFlag.setImageResource(listFlag.get(position));
return convertView;
}
}
Подробнее здесь: [url]https://stackoverflow.com/questions/23629871/android-how-to-convert-drawable-to-int[/url]
Ответить
1 сообщение
• Страница 1 из 1
Перейти
- Кемерово-IT
- ↳ Javascript
- ↳ C#
- ↳ JAVA
- ↳ Elasticsearch aggregation
- ↳ Python
- ↳ Php
- ↳ Android
- ↳ Html
- ↳ Jquery
- ↳ C++
- ↳ IOS
- ↳ CSS
- ↳ Excel
- ↳ Linux
- ↳ Apache
- ↳ MySql
- Детский мир
- Для души
- ↳ Музыкальные инструменты даром
- ↳ Печатная продукция даром
- Внешняя красота и здоровье
- ↳ Одежда и обувь для взрослых даром
- ↳ Товары для здоровья
- ↳ Физкультура и спорт
- Техника - даром!
- ↳ Автомобилистам
- ↳ Компьютерная техника
- ↳ Плиты: газовые и электрические
- ↳ Холодильники
- ↳ Стиральные машины
- ↳ Телевизоры
- ↳ Телефоны, смартфоны, плашеты
- ↳ Швейные машинки
- ↳ Прочая электроника и техника
- ↳ Фототехника
- Ремонт и интерьер
- ↳ Стройматериалы, инструмент
- ↳ Мебель и предметы интерьера даром
- ↳ Cантехника
- Другие темы
- ↳ Разное даром
- ↳ Давай меняться!
- ↳ Отдам\возьму за копеечку
- ↳ Работа и подработка в Кемерове
- ↳ Давай с тобой поговорим...
Мобильная версия