Android:如何设置列表视图的子项?
我使用的是双字符串数组:Android:如何设置列表视图的子项?,android,listview,Android,Listview,我使用的是双字符串数组: String[] crs //Contains an array of Student name's String[] crsn // Contains their roll no's 我打算做的是将列表项值设置为学生姓名,子项设置为卷号 我使用以下方法显示列表视图项,但它只显示学生姓名,而不显示子项 如何编写显示子项(即卷号数组)的代码 try { setListAdapter(new ArrayAdapter<Stri
String[] crs //Contains an array of Student name's
String[] crsn // Contains their roll no's
我打算做的是将列表项值设置为学生姓名,子项设置为卷号
我使用以下方法显示列表视图项,但它只显示学生姓名,而不显示子项
如何编写显示子项(即卷号数组)的代码
try {
setListAdapter(new ArrayAdapter<String>(this,
android.R.layout.simple_list_item_checked, new ArrayList()));
ListView listView = getListView();
listView.setChoiceMode(ListView.CHOICE_MODE_SINGLE);
new AddStringTask().execute();
} catch (Exception e) {
Toast.makeText(getApplicationContext(), "Null", Toast.LENGTH_LONG)
.show();
}
class AddStringTask extends AsyncTask<Void, String, Void> {
@Override
protected Void doInBackground(Void... unused) {
for (int i = 0; i < crs.length; i++) {
publishProgress(crs[i]);
}
return (null);
}
@Override
protected void onProgressUpdate(String... item) {
((ArrayAdapter) getListAdapter()).add(item[0]);
}
@Override
protected void onPostExecute(Void unused) {
setSelection(3);
}
}
试试看{
setListAdapter(新阵列适配器)(此,
android.R.layout.simple_list_item_checked,new ArrayList());
ListView ListView=getListView();
listView.setChoiceMode(listView.CHOICE\u MODE\u SINGLE);
新建AddStringTask().execute();
}捕获(例外e){
Toast.makeText(getApplicationContext(),“Null”,Toast.LENGTH\u LONG)
.show();
}
类AddStringTask扩展了AsyncTask{
@凌驾
受保护的空位背景(空位…未使用){
对于(int i=0;i
我是android的初学者,所以欢迎您提出任何建议……谢谢您您只需在创建Listview时使用此自定义适配器,然后您就可以在此块中编写代码了
use this code in your activity...
CustomAdapter mAdapter = new CustomAdapter(this, R.layout.listitem, mListItems);
mPullRefreshListView.setAdapter(mAdapter);
然后在这里替换布局
public class CustomAdapter extends ArrayAdapter<Sample> {
public ArrayList<Sample> mlist;
public Context context;
public LayoutInflater inflater;
public CustomAdapter(Context context, int resource, ArrayList<Sample> mlist) {
super(context, resource);
this.mlist = mlist;
this.context = context;
inflater = (LayoutInflater) context
.getSystemService(Context.LAYOUT_INFLATER_SERVICE);
}
@Override
public int getPosition(Sample item) {
return super.getPosition(item);
}
@Override
public Sample getItem(int position) {
return mlist.get(position);
}
@Override
public int getCount() {
return mlist.size();
}
@Override
public long getItemId(int position) {
return super.getItemId(position);
}
@Override
public View getView(int position, View convertView, ViewGroup parent) {
convertView = inflater.inflate(R.layout.listitem, null);// Replace your
// layout....
TextView text1 = (TextView) convertView.findViewById(R.id.item1);
TextView text2 = (TextView) convertView.findViewById(R.id.item2);
text1.setText(mlist.get(position).getListitem1());
text2.setText(mlist.get(position).getListitem2());
return convertView;
}
}
公共类CustomAdapter扩展了ArrayAdapter{
公共阵列列表;
公共语境;
公共场所;充气机;
公共CustomAdapter(上下文上下文、int资源、ArrayList mlist){
超级(上下文、资源);
this.mlist=mlist;
this.context=上下文;
充气器=(充气器)上下文
.getSystemService(上下文布局\充气机\服务);
}
@凌驾
公共int getPosition(示例项){
返回super.getPosition(项目);
}
@凌驾
公共示例getItem(int位置){
返回mlist.get(位置);
}
@凌驾
public int getCount(){
返回mlist.size();
}
@凌驾
公共长getItemId(int位置){
返回super.getItemId(位置);
}
@凌驾
公共视图getView(int位置、视图转换视图、视图组父视图){
convertView=inflater.inflate(R.layout.listitem,null);//替换
//布局。。。。
TextView text1=(TextView)convertView.findViewById(R.id.item1);
TextView text2=(TextView)convertView.findViewById(R.id.item2);
text1.setText(mlist.get(position.getListitem1());
text2.setText(mlist.get(position.getListitem2());
返回视图;
}
}