【发布时间】:2015-02-17 00:30:35
【问题描述】:
我查看了很多示例并设法做到了这一点,但我仍然无法获得从数组中删除项目的按钮。如何正确使用 remove(position)?
公共类适配器扩展 ArrayAdapter {
public adapter(Context context, ArrayList<User> users) {
super(context, 0, users);
}
@Override
public View getView(final int position, View convertView, ViewGroup parent) {
User user = getItem(position);
if (convertView == null) {
convertView = LayoutInflater.from(getContext()).inflate(R.layout.activity_main, parent, false);
}
TextView question = (TextView) convertView.findViewById(R.id.question);
TextView answer = (TextView) convertView.findViewById(R.id.answer);
question.setText(user.name);
answer.setText(user.hometown);
ImageButton remove = (ImageButton) convertView.findViewById(R.id.removeButton);
remove.setTag(position);
remove.setOnClickListener(new View.OnClickListener(){
@Override
public void onClick(View view) {
notifyDataSetChanged();}
});
return convertView;
}
}
用户列表
public class User {
public String name;
public String hometown;
public User(String name, String hometown) {
this.name = name;
this.hometown = hometown;
}
public static ArrayList<User> getUsers() {
ArrayList<User> users = new ArrayList<>();
users.add(new User("Hi", "hi"));
users.add(new User("Marla", "San Francisco"));
users.add(new User("Sarah", "San Marco"));
return users;
}
}
【问题讨论】:
-
你的日志猫在哪里???
-
我没有保留日志,但是在更改了一些内容之后,我认为这是由于错误地使用了 remove(position)。我如何正确实现这一点?
标签: android android-listview android-arrayadapter