package net.dev123.yibo.service.adapter; import java.util.ArrayList; import java.util.List; import net.dev123.mblog.entity.Status; import net.dev123.yibo.R; import net.dev123.yibo.db.LocalAccount; import android.content.Context; import android.view.LayoutInflater; import android.view.View; import android.view.ViewGroup; import android.widget.BaseAdapter; import android.widget.TextView; public class MicroBlogMoreListAdapter extends BaseAdapter { public static final int ITEM_DELETE = 0; public static final int ITEM_COPY = 1; public static final int ITEM_SHARE_TO_ACCOUNTS = 2; private Context context; private LocalAccount account; private Status status; private List<ItemHolder> listItem; public MicroBlogMoreListAdapter(Context context, LocalAccount account) { this.context = context; this.account = account; this.listItem = new ArrayList<ItemHolder>(); } @Override public int getCount() { return listItem.size(); } @Override public Object getItem(int position) { return listItem.get(position); } @Override public long getItemId(int position) { ItemHolder holder = (ItemHolder)getItem(position); return holder.itemId; } @Override public View getView(int position, View convertView, ViewGroup parent) { if (convertView == null) { LayoutInflater inflater = LayoutInflater.from(context); convertView = inflater.inflate(R.layout.list_item_dialog_list_choose, null); } ItemHolder holder = (ItemHolder)getItem(position); TextView tvItemName = (TextView)convertView.findViewById(R.id.tvItemName); tvItemName.setText(holder.item); return convertView; } public Status getStatus() { return status; } public void setStatus(Status status) { if (status == null) { return; } this.status = status; listItem.clear(); String currentUserId = ""; if (account != null && account.getUser() != null) { currentUserId = account.getUser().getId(); } if (status.getUser() != null && currentUserId.equals( status.getUser().getId())) { ItemHolder holder = new ItemHolder(); holder.itemId = ITEM_DELETE; holder.item = context.getString(R.string.menu_blog_delete); listItem.add(holder); } ItemHolder copyholder = new ItemHolder(); copyholder.itemId = ITEM_COPY; copyholder.item = context.getString(R.string.menu_blog_copy); listItem.add(copyholder); ItemHolder shareToAccountsHolder = new ItemHolder(); shareToAccountsHolder.itemId = ITEM_SHARE_TO_ACCOUNTS; shareToAccountsHolder.item = context.getString(R.string.menu_blog_share_to_accounts); listItem.add(shareToAccountsHolder); this.notifyDataSetChanged(); } private class ItemHolder { int itemId; String item; } }