[英]Update textview in custom ListView
我嘗試通過單擊按鈕在自定義列表視圖中編輯數據。 在偵聽器中,我在此行中編輯數據
data.get(position).setName("data");
數據已被編輯,但是當我將帶有編輯數據的列表視圖移出窗口邊界時,我看到了變化;當我移回列表時,我看到了變化。 我的目標是在單擊按鈕時看到這次更改。 這個怎么做?? 在每行的ListView中,我有3個textview和1個要編輯textview的按鈕。
import java.util.ArrayList;
import android.app.Activity;
import android.content.Context;
import android.view.LayoutInflater;
import android.view.View;
import android.view.View.OnClickListener;
import android.view.ViewGroup;
import android.widget.ArrayAdapter;
import android.widget.Button;
import android.widget.TextView;
public class UserCustomAdapter extends ArrayAdapter<User> {
int layoutResourceId;
ArrayList<User> data = new ArrayList<User>();
private DataSource datasource;
private Context context;
private Comment comment;
private String[] dane;
private UserHolder holder;
private User user;
public UserCustomAdapter(Context context, int layoutResourceId,
ArrayList<User> data) {super(context, layoutResourceId, data);
this.layoutResourceId = layoutResourceId;
this.context = context;
this.data = data;
}
@Override
public View getView(final int position, View convertView, ViewGroup parent) {
View row = convertView;
holder = null;
if (row == null) {
LayoutInflater inflater = ((Activity) context).getLayoutInflater();
row = inflater.inflate(layoutResourceId, parent, false);
holder = new UserHolder();
holder.textName = (TextView) row.findViewById(R.id.textView1);
holder.textPrice = (TextView) row.findViewById(R.id.textView2);
holder.textAttribute = (TextView) row.findViewById(R.id.textView3);
holder.btnEdit = (Button) row.findViewById(R.id.button1);
row.setTag(holder);
} else {
holder = (UserHolder) row.getTag();
}
user = data.get(position);
holder.textName.setText(user.getName());
holder.textPrice.setText(user.getPrice());
holder.textAttribute.setText(user.getAttribute());
holder.btnEdit.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View v) {
/* datasource = new DataSource(getContext());
datasource.open();
comment = datasource.getComment("1");
dane = comment.toString().split(" ");
*/
data.get(position).setName("data");
System.out.println(position);
}
});
return row;
}
static class UserHolder {
TextView textName;
TextView textPrice;
TextView textAttribute;
Button btnEdit;
}
}
更新后使用notifyDataSetChanged方法
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.