私はカスタムアダプターを持っています。私のgetView()
の中で"holder.contact"に私の連絡先のリストを入力しようとしていますが、成功しません。私はListView
に連絡先を設定するこの方法を持っていますが、それは私のCheckBoxes
の機能を混乱させます。このコードは、私のCustomAdapter
クラスの外にある:カスタムアダプタクラス内の連絡先でリストビューを設定するにはどうすればよいですか?
public void populateContactList() {
// Build adapter with contact entries
Cursor cursor = getContacts();
String[] fields = new String[] {
ContactsContract.Data.DISPLAY_NAME
};
SimpleCursorAdapter adapter = new SimpleCursorAdapter(this, R.layout.contact_entry, cursor,
fields, new int[] {R.id.contactEntryText});
lv.setAdapter(adapter);
} // END POPULATECONTACTLIST
public Cursor getContacts()
{
// Run query
Uri uri = ContactsContract.Contacts.CONTENT_URI;
String[] projection = new String[] {
ContactsContract.Contacts._ID,
ContactsContract.Contacts.DISPLAY_NAME
};
String selection = ContactsContract.Contacts.IN_VISIBLE_GROUP + " = '" +
(false ? "0" : "1") + "'";
String[] selectionArgs = null;
String sortOrder = ContactsContract.Contacts.DISPLAY_NAME + " COLLATE LOCALIZED ASC";
return managedQuery(uri, projection, selection, selectionArgs, sortOrder);
} // END GETCONTACTS
しかし、私はここの中でそれを定義しようとしているが、成功しません(カスタムアダプタクラス)で:
@Override
public View getView(final int position, View convertView, ViewGroup parent)
{
View rowView = convertView;
ViewHolder holder = null;
if (rowView == null) {
LayoutInflater inflater = (LayoutInflater)context.getSystemService(
Context.LAYOUT_INFLATER_SERVICE);
// HERE I AM INFLATING LISTVIEW LAYOUT.
rowView = inflater.inflate(R.layout.contact_entry, null, false);
holder = new ViewHolder();
holder.photo = (ImageView) rowView.findViewById(R.id.iv_contactPic);
holder.contact = (TextView) rowView.findViewById(R.id.contactEntryText);
holder.tv = (TextView) rowView.findViewById(R.id.SMSCounttext);
holder.cb = (CheckBox) rowView.findViewById(R.id.cb_contactHistoryChk);
rowView.setTag(holder);
} else {
holder = (ViewHolder) rowView.getTag();
}
は適用する方法はあります私の
populateContactList()getView()
内のメソッド?
私のコンストラクタはこのように見えます。 「要素」は既に別のテキストビューで使用されています。
public CustomAdapter(Context context, int type, ArrayList<String> elements){
super(context, type, elements);
私はあなたが拡張可能なリストビューを使用する必要があることも可能であると思ういけません。 .. –