如何刷新lazylist?

时间:2014-01-19 13:47:51

标签: java android android-lazyadapter

我在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(); 
    }
.....   

由于

0 个答案:

没有答案