Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/203.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 如何为预填充SQLite数据列表添加自定义列表视图?_Android_Sqlite_Listview - Fatal编程技术网

Android 如何为预填充SQLite数据列表添加自定义列表视图?

Android 如何为预填充SQLite数据列表添加自定义列表视图?,android,sqlite,listview,Android,Sqlite,Listview,列表视图正在工作。但我想为此数据列表添加自定义列表视图。我正在从预填充数据库检索数据。这就是我试过的。我在活动课上出错了 自定义列表视图适配器 public class CustomListViewAdapter extends ArrayAdapter<Organization> { Context context; public CustomListViewAdapter(Context context, int layout,

列表视图正在工作。但我想为此数据列表添加自定义列表视图。我正在从预填充数据库检索数据。这就是我试过的。我在活动课上出错了

自定义列表视图适配器

public class CustomListViewAdapter extends ArrayAdapter<Organization> {

Context context;

public CustomListViewAdapter(Context context, int layout,
                             List<Organization> items) {
    super(context, layout, items);
    this.context = context;
}

/*private view holder class*/
private class ViewHolder {

    TextView txtTitle;

}

public View getView(int position, View convertView, ViewGroup parent) {
    ViewHolder holder = null;
    Organization rowItem = getItem(position);

    LayoutInflater mInflater = (LayoutInflater) context
            .getSystemService(Activity.LAYOUT_INFLATER_SERVICE);
    if (convertView == null) {
        convertView = mInflater.inflate(R.layout.single_row_item, null);
        holder = new ViewHolder();

        holder.txtTitle = (TextView) convertView.findViewById(R.id.org_name);
        convertView.setTag(holder);

        convertView.setTag(holder);
    } else
        holder = (ViewHolder) convertView.getTag();


    holder.txtTitle.setText(rowItem.getTitle());


    return convertView;
}}
活动课

public class ContactView extends Activity {
    private ListView listView;
    private ListView listView1;
    List<Organization> rowItems;
    @Override
    protected void onCreate(Bundle savedInstanceState) {

    super.onCreate(savedInstanceState);
    setContentView(R.layout.list_view);


    this.listView = (ListView) findViewById(R.id.listView);
    DBAccess databaseAccess = DBAccess.getInstance(this);
    databaseAccess.open();
    List<String> quotes = databaseAccess.getQuotes(getIntent().getStringExtra("ID_EXTRA"));
    databaseAccess.close();


    listView = (ListView) findViewById(R.id.listView);
    CustomListViewAdapter adapter = new CustomListViewAdapter(this,
            R.layout.single_row_item, quotes);
    listView.setAdapter(adapter);

}}
必需:上下文、int、列表 找到:ContactView,int,List
原因:无法通过方法调用转换将实际参数列表转换为列表

请在
databaseAccess.close()之后进行这些更改

List rowItem=new ArrayList();
for(字符串引号:引号){
组织临时=新组织(报价);
行项目。添加(临时);
}
listView=(listView)findViewById(R.id.listView);
CustomListViewAdapter=新的CustomListViewAdapter(此,
R.layout.single_row_item,rowItem);
setAdapter(适配器);

当前代码的问题是
CustomListViewAdapter
的构造函数期望第三个参数为
List
,类型为
Organization
,但您正在传递
List
类型为
String

?为什么要在活动中初始化listView两次?删除一个初始化。我添加了一个错误。删除了一个初始化。谢谢,因为您正在传递列表和CustomListViewAdapter,我将其更改为列表引号。现在我在那一行遇到了一个错误。不要使用任何
CustomListViewAdapter
,而是使用
[Simple]光标或适配器
public class ContactView extends Activity {
    private ListView listView;
    private ListView listView1;
    List<Organization> rowItems;
    @Override
    protected void onCreate(Bundle savedInstanceState) {

    super.onCreate(savedInstanceState);
    setContentView(R.layout.list_view);


    this.listView = (ListView) findViewById(R.id.listView);
    DBAccess databaseAccess = DBAccess.getInstance(this);
    databaseAccess.open();
    List<String> quotes = databaseAccess.getQuotes(getIntent().getStringExtra("ID_EXTRA"));
    databaseAccess.close();


    listView = (ListView) findViewById(R.id.listView);
    CustomListViewAdapter adapter = new CustomListViewAdapter(this,
            R.layout.single_row_item, quotes);
    listView.setAdapter(adapter);

}}
Error:(81, 41) error: constructor CustomListViewAdapter in class CustomListViewAdapter cannot be applied to given types;
List<Organization> rowItem=new ArrayList<Organization>();
for(String quote:quotes){
    Organization temp=new Organization(quote);
    rowItem.add(temp);
}
listView = (ListView) findViewById(R.id.listView);
CustomListViewAdapter adapter = new CustomListViewAdapter(this,
        R.layout.single_row_item, rowItem);
listView.setAdapter(adapter);