我在google和stackoverflow上搜索了很长时间, 但我找不到我想要的东西, 当我点击列表上的按钮时,我想刷新列表。 实际上按钮在A.xml上。而lazayadapter.class使用A.xml。 我使用B.class,这是我的主要课程。我在这个课程中设置了列表。我在lazyadapter.class上设置了监听器。有人点击按钮我在lazyadapter.class上检测到它。我在列表中更新了一些内容。但是如何刷新列表呢? 我现在要做什么来处理它,我在我的主类上放了一个按钮,我在其中放了一个刷新方法,当我点击它时列表会更新,但我不想这样做静态。 我不能在我的lazyadapter.class中使用我的刷新方法,因为我的刷新方法不能是静态的, 这是我的代码示例:
public class LazyAdapter extends BaseAdapter {
private Activity activity;
private ArrayList<Long> liked ;
private static LayoutInflater inflater=null;
public ImageLoader imageLoader;
public LazyAdapter(Activity a, ArrayList<Long> liked_) {
activity = a;
liked=liked_;
inflater = (LayoutInflater)activity.getSystemService(Context.LAYOUT_INFLATER_SERVICE);
imageLoader=new ImageLoader(activity.getApplicationContext());
}
public int getCount() {
return liked .size();
}
public Object getItem(int position) {
return position;
}
public long getItemId(int position) {
return position;
}
@SuppressWarnings("deprecation")
@SuppressLint("SimpleDateFormat")
public View getView(final int position, View convertView, ViewGroup parent) {
View vi=convertView;
if(convertView==null)
vi = inflater.inflate(R.layout.item, null);
Button btn_like=(Button)vi.findViewById(R.id.btn_like);
btn_like.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View v) {
// Toast.makeText(activity, "You Clicked at like :D" , Toast.LENGTH_SHORT).show();
//I want to refresh list in here ok but how?
}
});
}
main.class
.....
adapter=new LazyAdapter(getActivity(), liked);
list.setAdapter(adapter);
public void refresh_list()
{
liked.clear();
....//ADD some item to liked
adapter.notifyDataSetChanged();
}
.....
由于