如何仅显示当前用户列表视图项的edittext?

时间:2014-09-29 21:40:13

标签: java android listview android-listview

我已经搜索过这个问题了,我无法在任何地方找到它,而且我甚至不确定如何确切地说出来。

我有一个列表视图,包含每个项目的图像,文本,按钮等。我还有一个项目的edittext,但我只想让edittext对当前用户可见。同样的方式,你只能在Facebook上编辑自己的帖子,而不是每隔一个帖子。

这是我尝试过的:

holder.editcaption = (EditText) itemView.findViewById(R.id.editText1);

(...)

if(mCurrentUser.getUsername()!=currentItem.getSender())
    holder.editcaption.setVisibility(View.INVISIBLE);

这是在适配器的getView()中。问题是当我只需要每个edittext时,所有的edittex都变得不可见或可见,除了当前用户不可见。我只需要更改当前项的edittext视图。

非常感谢任何帮助。

private class MyListAdapter extends ArrayAdapter<GalleryItem>{

    public MyListAdapter(){
        super(getActivity(), R.layout.item_view, thelist);

    }

    @Override
    public int getViewTypeCount() {
        return 2;
    }

    @Override
    public int getItemViewType(int position) {
        if(items.get(position).getUsername()!=mCurrentUser.getUsername())
            return 2;
        else return 0;
    }

@Override
    public View getView(final int position, View convertView, ViewGroup parent) {

          currentItem = adapter.getItem(position);

          int type = getItemViewType(position);

         ViewHolder holder; 
        View itemView = null;
        if(convertView == null){
LayoutInflater inflater = (LayoutInflater) getListView().getContext().getSystemService(     Context.LAYOUT_INFLATER_SERVICE );
if(type==0)
itemView = inflater.inflate(R.layout.item_view, parent, false);
else
itemView = inflater.inflate(R.layout.currentuser_item_view, parent, false);
            holder = new ViewHolder();          
        holder.image = (ImageView)itemView.findViewById(R.id.imgAvatar);
        holder.text =  (TextView) itemView.findViewById(R.id.newtext);
        holder.profilepicture = (ProfilePictureView) itemView.findViewById(R.id.profilePicture);
        holder.timelabel = (TextView) itemView.findViewById(R.id.timeposted);
        holder.post_caption = (TextView) itemView.findViewById(R.id.caption);
        holder.editcaption = (EditText) itemView.findViewById(R.id.editText1);
        itemView.setTag(holder);
        }
        else{


            itemView = convertView;
            holder = (ViewHolder) itemView.getTag();
            }

0 个答案:

没有答案