Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/346.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
Java listview的多个值 public ArrayList getAllCotacts(){ ArrayList数组_list=新建ArrayList(); //hp=新HashMap(); SQLiteDatabase db=this.getReadableDatabase(); Cursor res=db.rawQuery(“从联系人中选择*”,null); res.moveToFirst(); 而(!res.isAfterLast()){ array_list.add(res.getString(res.getColumnIndex(CONTACTS_COLUMN_NAME)); res.moveToNext(); } 返回数组_列表; } }_Java_Android_Sqlite_Listview - Fatal编程技术网

Java listview的多个值 public ArrayList getAllCotacts(){ ArrayList数组_list=新建ArrayList(); //hp=新HashMap(); SQLiteDatabase db=this.getReadableDatabase(); Cursor res=db.rawQuery(“从联系人中选择*”,null); res.moveToFirst(); 而(!res.isAfterLast()){ array_list.add(res.getString(res.getColumnIndex(CONTACTS_COLUMN_NAME)); res.moveToNext(); } 返回数组_列表; } }

Java listview的多个值 public ArrayList getAllCotacts(){ ArrayList数组_list=新建ArrayList(); //hp=新HashMap(); SQLiteDatabase db=this.getReadableDatabase(); Cursor res=db.rawQuery(“从联系人中选择*”,null); res.moveToFirst(); 而(!res.isAfterLast()){ array_list.add(res.getString(res.getColumnIndex(CONTACTS_COLUMN_NAME)); res.moveToNext(); } 返回数组_列表; } },java,android,sqlite,listview,Java,Android,Sqlite,Listview,它仅在listview上显示名称。。。有一个电子邮件字段。。我如何显示它呢您正在使用字符串的arraylist。。。对类联系人使用类模型 public ArrayList<String> getAllCotacts() { ArrayList<String> array_list = new ArrayList<>(); //hp = new HashMap(); SQLiteDatabase db = thi

它仅在listview上显示名称。。。有一个电子邮件字段。。我如何显示它呢

您正在使用字符串的arraylist。。。对类联系人使用类模型

public ArrayList<String> getAllCotacts() {
        ArrayList<String> array_list = new ArrayList<>();

        //hp = new HashMap();
        SQLiteDatabase db = this.getReadableDatabase();
        Cursor res = db.rawQuery("select * from contacts", null);
        res.moveToFirst();

        while (!res.isAfterLast()) {
            array_list.add(res.getString(res.getColumnIndex(CONTACTS_COLUMN_NAME)));
            res.moveToNext();
        }
        return array_list;
    }
}
然后修改上述函数,如

Class Contact{
   private String name;
   private String email;

   //Constructor, Getter & Setter for Contact

}
Arraylist contactList=新建Arraylist;
..............................................
而(!res.isAfterLast()){
添加(新联系人(res.getString(res.getColumnIndex(CONTACTS\u COLUMN\u NAME))、res.getString(res.getColumnIndex(CONTACTS\u COLUMN\u EMAIL)));
res.moveToNext();
}

现在您在arraylist中有了每个联系人的姓名和电子邮件。。。您还可以根据需要添加更多成员,如address。

不要使用字符串的ArrayList,而要使用HashMap的ArrayList您自己的模型类

使用HashMap的示例

Arraylist<Contact> contactList = new ArrayList<>;
..............................................
while (!res.isAfterLast()) {
   contactList.add(new Contact(res.getString(res.getColumnIndex(CONTACTS_COLUMN_NAME)),res.getString(res.getColumnIndex(CONTACTS_COLUMN_EMAIL))));
    res.moveToNext();
}
public ArrayList getAllCotacts(){
ArrayList数组_list=新建ArrayList();
SQLiteDatabase db=this.getReadableDatabase();
Cursor res=db.rawQuery(“从联系人中选择*”,null);
res.moveToFirst();
而(!res.isAfterLast()){
HashMap hMap=新的HashMap();
//添加名称
hMap.put(“name”,res.getString(res.getColumnIndex(CONTACTS\u COLUMN\u name));
//添加电子邮件
hMap.put(“email”,res.getString(res.getColumnIndex(CONTACTS\u COLUMN\u email));
//最后将HashMap添加到ArrayList
数组_list.add(hMap);
res.moveToNext();
}
//返回之前,必须关闭光标和数据库
res.close();
db.close();
返回数组_列表;
}

获取ContactData等对象类型的数组列表,并将光标数据保存到object arraylist,如下所示:-

public ArrayList<HashMap<String, String>> getAllCotacts() {
    ArrayList<HashMap<String, String>> array_list = new ArrayList<>();
    SQLiteDatabase db = this.getReadableDatabase();
    Cursor res = db.rawQuery("select * from contacts", null);
    res.moveToFirst();

    while (!res.isAfterLast()) {
      HashMap<String, String> hMap = new HashMap<String, String>();
      // add the name
      hMap.put("name", res.getString(res.getColumnIndex(CONTACTS_COLUMN_NAME)));
      // add the email
      hMap.put("email", res.getString(res.getColumnIndex(CONTACTS_COLUMN_EMAIL)));

      // finally add the HashMap to ArrayList
      array_list.add(hMap);
      res.moveToNext();
    }
   // before returning you must close the cursor and database
   res.close();
   db.close();
   return array_list;
}
public ArrayList getAllCotacts(){
ArrayList数组_list=新建ArrayList();
SQLiteDatabase db=this.getReadableDatabase();
Cursor res=db.rawQuery(“从联系人中选择*”,null);
res.moveToFirst();
而(!res.isAfterLast()){
ContactData ContactData=新的ContactData();
contactData.name=res.getString(res.getColumnIndex(CONTACTS\u name\u COLUMN\u name))
contactData.email=res.getString(res.getColumnIndex(CONTACTS\u email\u COLUMN\u NAME))
数组\列表。添加(contactData);
res.moveToNext();
}
返回数组_列表;
}
}

在main classcall方法中,我还需要做什么,获取联系人类型的Arraylist并设置自定义适配器
public ArrayList<ContactData> getAllCotacts() {
        ArrayList<ContactData> array_list = new ArrayList<>();
        SQLiteDatabase db = this.getReadableDatabase();
        Cursor res = db.rawQuery("select * from contacts", null);
        res.moveToFirst();

        while (!res.isAfterLast()) {
ContactData contactData=new ContactData();
contactData.name=res.getString(res.getColumnIndex(CONTACTS_NAME_COLUMN_NAME))
contactData.email=res.getString(res.getColumnIndex(CONTACTS_EMAIL_COLUMN_NAME))        
array_list.add(contactData);
            res.moveToNext();
        }
        return array_list;
    }
}