Android自定义listView应用程序不断崩溃,但没有显示任何内容
我正在尝试构建一个自定义的Android自定义listView应用程序不断崩溃,但没有显示任何内容,android,listview,android-arrayadapter,Android,Listview,Android Arrayadapter,我正在尝试构建一个自定义的列表视图(布局仅包含3个文本视图)。 下面是我的代码,我只是在扩展ArrayAdapter并填充我自己的构造函数,但在执行时,应用程序一直崩溃,没有显示任何内容 import android.content.res.Resources; // ... more imports public class MainActivity extends Activity { Resources res = getResources( ); String[] da
列表视图
(布局仅包含3个文本视图
)。
下面是我的代码,我只是在扩展ArrayAdapter
并填充我自己的构造函数,但在执行时,应用程序一直崩溃,没有显示任何内容
import android.content.res.Resources;
// ... more imports
public class MainActivity extends Activity {
Resources res = getResources( );
String[] days = res.getStringArray(R.array.days);
String[] title = res.getStringArray(R.array.title);
String[] desc = res.getStringArray(R.array.desc);
ListView lv;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
lv = (ListView) findViewById(R.id.lv);
customArrayAdapter adp = new customArrayAdapter(this, days, title, desc);
lv.setAdapter(adp);
}
}
class customArrayAdapter extends ArrayAdapter<String> {
Context context;
String[] title;
String[] desc;
customArrayAdapter(Context c, String[] name, String[] title, String[] desc) {
super(c, R.layout.single_row, R.id.tv1, name);
this.context = c;
this.title = title;
this.desc = desc;
}
@Override
public View getView(int position, View convertView, ViewGroup parent) {
LayoutInflater inf = (LayoutInflater) context.getSystemService(Context.LAYOUT_INFLATER_SERVICE);
View row = inf.inflate(R.layout.single_row, parent, false);
TextView tv1 = (TextView) row.findViewById(R.id.tv1);
TextView tv2 = (TextView) row.findViewById(R.id.tv2);
TextView tv3 = (TextView) row.findViewById(R.id.tv3);
tv2.setText(title[position]);
tv3.setText(desc[position]);
return row;
}
}
导入android.content.res.Resources;
// ... 更多进口
公共类MainActivity扩展了活动{
Resources res=getResources();
String[]days=res.getStringArray(R.array.days);
String[]title=res.getStringArray(R.array.title);
字符串[]desc=res.getStringArray(R.array.desc);
ListView lv;
@凌驾
创建时受保护的void(Bundle savedInstanceState){
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
lv=(ListView)findViewById(R.id.lv);
customArrayAdapter adp=新customArrayAdapter(此,天,标题,描述);
低压设置适配器(adp);
}
}
类customArrayAdapter扩展了ArrayAdapter{
语境;
字符串[]标题;
字符串[]desc;
customArrayAdapter(上下文c,字符串[]名称,字符串[]标题,字符串[]说明){
超级(c,R.layout.single_row,R.id.tv1,名称);
this.context=c;
this.title=标题;
this.desc=desc;
}
@凌驾
公共视图getView(int位置、视图转换视图、视图组父视图){
LayoutInflater inf=(LayoutInflater)context.getSystemService(context.LAYOUT\u INFLATER\u SERVICE);
视图行=inf.FLABLE(R.layout.single_行,父级,false);
TextView tv1=(TextView)row.findViewById(R.id.tv1);
TextView tv2=(TextView)row.findViewById(R.id.tv2);
TextView tv3=(TextView)row.findViewById(R.id.tv3);
tv2.setText(头衔[职位]);
tv3.setText(描述[位置]);
返回行;
}
}
请发布您收到的错误日志。getResources()定义oncreate方法prb solveFATAL异常:main com.customlistview.rameez.custom_listview,PID:8001 java.lang.RuntimeException:无法实例化activity ComponentInfo{com.customlistview.rameez.custom_listview/com.customlistview.rameez.custom_listview.MainActivity}:java.lang.NullPointerException:尝试在空对象引用上调用虚拟方法“android.content.res.Resources android.content.Context.getResources()”,这可能会帮助您重新解决崩溃问题
Context context;
ListView lv;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
context = getApplicationContext();
lv = (ListView) findViewById(R.id.lv);
customArrayAdapter adp = new customArrayAdapter(context, days, title, desc);
lv.setAdapter(adp);
}
public class MainActivity extends Activity {
Resources res;
//stuff
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
res = getResources();
//stuff
}
}