2013-12-13 4 views
0

Есть ли способ получить строку из моего xml из действия, которое расширяет BaseAdapter?Использование строки xml в BaseAdapter

я сделать это таким образом:

public class testing extends BaseAdapter { 

    private Context context; 
    private Alarm alarm; 
    String stringTest=context.getResources().getString(R.string.TXactive); 
    private List<AlarmPreference> preferences = new ArrayList<AlarmPreference>(); 
    private final String[] repeatDays = {stringTest,"Lunes","Martes","Miércoles","Jueves","Viernes","Sábado"}; 
... 

но сбой приложения. Я искал информацию о неудачной попытке.

Заранее спасибо

+0

разместим ваш конструктор. – Raghunandan

ответ

1

пожалуйста, передайте контекст в конструкторе baseadapter

public class MyAdapter extends BaseAdapter { 
    MyAdapter adapter; 
    Context context; 
    ArrayList<Model_CategoryMaster> itemArrayList; 


    public MyAdapter(Context c, ArrayList<Model_CategoryMaster> itemsArray2) { 
     context = c; //Update here 

     itemArrayList = itemsArray2; 
    } 

    @Override 
    public int getCount() { 
     // TODO Auto-generated method stub 
     // return Integer.MAX_VALUE; 
     return itemArrayList.size(); 
    } 

    @Override 
    public Object getItem(int position) { 

     return itemArrayList.get(position); 
     // return itemArrayList.get(position % itemArrayList.size()); 
    } 

    @Override 
    public long getItemId(int position) { 
     return position; 
    } 

    @Override 
    public View getView(int position, View convertView, ViewGroup parent) { 

     View rowView = LayoutInflater.from(context).inflate(
       R.layout.xml_row_category, null); 
      String stringTest=context.getResources().getString(R.string.TXactive); 

     return rowView; 
    } 
} 
1

Move

stringTest=context.getResources().getString(R.string.TXactive); 

к вам конструктору и посмотреть, если это помогает

0

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

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

public class testing extends BaseAdapter { 
private Context context; 
Public testing(Context p_context) 
{ 
context=p_context; 
} 

В вашей деятельности сделать, как показано ниже:

testing t1=new testing(MainActivity.this); 
Смежные вопросы