2013-09-12 3 views
1

Мне нужно создать приложение, в котором я должен показать список имен во всплывающем окне.Добавить список в popupwindow

Я использовал массив-список для извлечения значений из базы данных, но я не могу поместить его в массив-адаптер.

вот мой код:

public class Calculator_new_Pop extends Dialog implements View.OnClickListener{ 

... // rest of the code 
ArrayList<String> wallAreas=new ArrayList<String>(); 

wallAreas=GenericDAO.getWallAreas(room_id);//to fetch the values from databases 


ArrayAdapter<String> new_adapter = new ArrayAdapter<String>(Calculator_new_Pop.this,android.R.layout.simple_list_item_1,wallAreas); 
       _ltvw.setAdapter(new_adapter); 

... // rest of the code 
} 

ошибка

"Конструктор ArrayAdapter (Calculator_new_Pop, INT, ArrayList) не определено"

Может кто-нибудь помочь мне ?

ответ

0

контекст использования активности

ArrayAdapter<String> new_adapter = new ArrayAdapter<String>(ActivityName.this,android.R.layout.simple_list_item_1,wallAreas); 

Вы можете передать контекст деятельности конструктору Calculator_new_Pop и использовать тот же вместо Calculator_new_Pop.this

Редактировать

Context mContext; 
public Calculator_new_Pop(Context context) 
{ 
     mContext = context; 
} 

Тогда

ArrayAdapter<String> new_adapter = new ArrayAdapter<String>(mContext,android.R.layout.simple_list_item_1,wallAreas); 

Посмотрите на конструктор ArrayAdapter.

http://developer.android.com/reference/android/widget/ArrayAdapter.html

0

См ссылка link

ArrayAdapter нужен контекст в качестве параметра, вы поставка Dialog экземпляра, который не типа контекста, это причина, по которой показана ошибке. Вместо экземпляра диалога получить контекст активности.

Вы можете передать контекст активности в конструкторе диалога и, следовательно, предоставить этот контекст в ArrayAdapter.

public class Calculator_new_Pop extends Dialog implements View.OnClickListener{ 
Context mContext =null; 
public Calculator_new_Pop(Context c){ 
this.mContext = c;} 

............. 
............. 
............. 

ArrayList<String> wallAreas=new ArrayList<String>(); 

wallAreas=GenericDAO.getWallAreas(room_id);//to fetch the values from databases 


ArrayAdapter<String> new_adapter = new ArrayAdapter<String>(mContext,android.R.layout.simple_list_item_1,wallAreas); 
       _ltvw.setAdapter(new_adapter); 

....... 
} 

При создании диалогового окна действия, перейдите this.

0

я получаю 'нуль' в "mContext" так я попробовал это ..

public Calculator_new_Pop(Activity parent) { 
     // TODO Auto-generated constructor stub 
     super(parent); 

     this._act = parent; 
//  
    } 


_ltvw.setAdapter(new ArrayAdapter<String>(_act,android.R.layout.simple_list_item_multiple_choice,data)); 

он работал ..

Смежные вопросы