Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/216.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/git/21.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Android:如何设置列表视图的子项?_Android_Listview - Fatal编程技术网

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());
返回视图;
}
}