有没有办法从扩展BaseAdapter的活动中从我的xml中检索字符串?
我是这样做的:
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 :(得分:1)
移动
stringTest=context.getResources().getString(R.string.TXactive);
给你构造函数,看看是否有帮助
答案 1 :(得分: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;
}
}
答案 2 :(得分:0)
由于您的背景,您可能会崩溃。您需要从活动传递上下文以访问字符串资源。
在适配器中创建构造函数,如下所示,并从您的活动中传递上下文,以便它能够获取资源。
public class testing extends BaseAdapter {
private Context context;
Public testing(Context p_context)
{
context=p_context;
}
在您的活动中执行以下操作:
testing t1=new testing(MainActivity.this);