我對Android非常陌生,需要一些指導。帶有CheckBox指南的ListView SQLite
到目前爲止我有兩個活動。第一個包含一個ActionBar和一個ListView。我希望ListView填充包含TextView和CheckBox的行。該文本由從數據庫中讀取的用戶名錶示。ActionBar具有用於操作的按鈕:「新」和「刪除」。 「新建」會打開一個新的活動,將新用戶添加到數據庫中,刪除操作應從列表和數據庫中刪除已檢查的條目。屏幕:
創建簡歷活動:http://imgur.com/EbpD3
要得到這些我用SQLiteHelper和數據庫,併爲ListView自定義ArrayAdapter數據源。我有一個問題和一些問題,列在下面。
1。問題是:當我添加一個新用戶時,我只能在使用後退按鈕退出應用程序後才能看到ListView中的更改。
2。是一個自定義的ArrayAdapter的一個很好的解決方案,或者我應該使用CursorAdapter?點擊後,列表項應該使用與其關聯的信息到另一個活動/片段中。以下是我的自定義適配器。它現在可以工作,但下一步是實施刪除操作,我不完全確定我是如何做到的。這是我需要諮詢的地方。謝謝!
public class CustomUserAdapter extends ArrayAdapter<UserProfile>{
ArrayList<UserProfile> users;
private LayoutInflater inflater;
public CustomUserAdapter(Context context, ArrayList<UserProfile> users) {
// TODO Auto-generated constructor stub
super(context, R.layout.users_list_row, users);
this.users = users;
inflater = LayoutInflater.from(context);
}
@Override
public View getView(int position, View convertView, ViewGroup parent) {
UserProfile user = users.get(position);
CheckBox checkBox;
TextView textView;
if(convertView == null){
convertView = inflater.inflate(R.layout.users_list_row, null);
checkBox = (CheckBox) convertView.findViewById(R.id.checkElement);
textView = (TextView) convertView.findViewById(R.id.textElement);
//tag row
convertView.setTag(new UserHolder(textView, checkBox));
} else {
UserHolder userHolder = (UserHolder) convertView.getTag();
checkBox = userHolder.getCheckBox();
textView = userHolder.getUserText();
}
//tag checkbox
checkBox.setTag(user);
//checkbox listener
checkBox.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View v) {
// TODO Auto-generated method stub
}
});
checkBox.setChecked(false);
textView.setText(user.getUsername());
return convertView;
}
}
非常感謝。 – johnpeterman