我们如何在成功时将数据添加到网格视图

时间:2014-04-07 04:05:50

标签: java android android-layout android-listview

我创建了一个显示列表的网格视图。现在我有一个问题,当用户成功发布数据我想在网格视图中添加数据,但不想加载整个网格视图,只想在以前的网格中添加数据。身体能否告诉我这是否可能实现这一目标?

  

enter image description here

以下是我的适配器的代码: -

        package com.idea.remote;

        import android.view.View.OnClickListener;
        import java.util.List;


        import com.idea.*;
        import android.annotation.SuppressLint;
        import android.app.Activity;
        import android.content.Context;
        import android.content.Intent;
        import android.util.Log;
        import android.view.LayoutInflater;
        import android.view.View;
        import android.view.ViewGroup;
        import android.widget.ArrayAdapter;
        import android.widget.ImageView;
        import android.widget.TextView;
        import android.widget.Toast;

        public class UserPostsListViewAdapter extends ArrayAdapter<UserPostsItemForm> {

           Context context;
           List<UserPostsItemForm> items;
           public UserPostsListViewAdapter(Context context, int resourceId,
                   List<UserPostsItemForm> items) {
               super(context, resourceId, items);
               this.context = context;
               this.items=items;
           }

           /*private view holder class*/
           private class ViewHolder {
               ImageView imageView;
               TextView txtUserName;
               TextView txtDesc;
               TextView sweetNo;
               TextView idealCount;
               TextView userId;
               TextView postID;
               ImageView replyId;
               ImageView addFriend;
               ImageView sweetButton;
               ImageView imageView4;
               ImageView imageView2;
           }

           @SuppressLint("ShowToast")
        public View getView( int position, View convertView, ViewGroup parent) {
               ViewHolder holder = null;
                UserPostsItemForm rowItem = getItem(position);

               LayoutInflater mInflater = (LayoutInflater) context
                       .getSystemService(Activity.LAYOUT_INFLATER_SERVICE);
               if (convertView == null) {
                   convertView = mInflater.inflate(R.layout.user_posts, null);
                   holder = new ViewHolder();
                   holder.txtDesc = (TextView) convertView.findViewById(R.id.desc);
                   holder.txtUserName = (TextView) convertView.findViewById(R.id.userName);
                   holder.imageView = (ImageView) convertView.findViewById(R.id.imageView1);
                   holder.sweetNo = (TextView) convertView.findViewById(R.id.sweetNo);
                   holder.idealCount = (TextView) convertView.findViewById(R.id.idealCount);
                   holder.sweetButton= (ImageView) convertView.findViewById(R.id.sweetButton);
                   holder.imageView4= (ImageView) convertView.findViewById(R.id.imageView4);
                   holder.imageView2= (ImageView) convertView.findViewById(R.id.imageView2);

                   final String userId1=items.get(position).getUserId();

            ImageView addFriend1 = (ImageView) convertView.findViewById(R.id.imageView5);
            holder.addFriend=addFriend1;
            holder.addFriend.setTag(Integer.parseInt(items.get(position).getUserId()));
            holder.addFriend.setTag(userId1); //For passing the list item index
            final String addFriendTag=(String) holder.addFriend.getTag();
            holder.addFriend.setOnClickListener(new OnClickListener() {
              @Override
            public void onClick(View arg0) {
                Toast toast = Toast.makeText(context, " is "+ addFriendTag,Toast.LENGTH_SHORT);
                toast.show();
            }     
        });

          convertView.setTag(holder);
               } else
                   holder = (ViewHolder) convertView.getTag();

               //for sweet button like
               holder.sweetButton.setTag(Integer.parseInt(items.get(position).getPostID()));
               final int sweetButtonTag= (Integer) holder.sweetButton.getTag();
               holder.sweetButton.setOnClickListener(new OnClickListener() {
                  @Override
                public void onClick(View arg0) {
                    Toast toast = Toast.makeText(context, "sweetbutton is "+ sweetButtonTag,Toast.LENGTH_SHORT);
                    toast.show();
                    String userId="18";
                        voteUpDownWallPost wallPost2=new voteUpDownWallPost(sweetButtonTag,userId,context,"AddWallPostVoteUp");
                        wallPost2.sendTopost();
                }     
             });

               //for ideal button like
               holder.imageView4.setTag(Integer.parseInt(items.get(position).getPostID()));
               final int idealButtonTag= (Integer) holder.imageView4.getTag();
               holder.imageView4.setOnClickListener(new OnClickListener() {
                  @Override
                public void onClick(View arg0) {
                    Toast toast = Toast.makeText(context, "ideal button is "+ idealButtonTag,Toast.LENGTH_SHORT);
                    toast.show();
                    String userId="18";
                        voteUpDownWallPost wallPost2=new voteUpDownWallPost(idealButtonTag,userId,context,"AddWallPostVoteDown");
                        String status=wallPost2.sendTopost();
                        if(status=="true"){
                           //   holder.sweetNo.setText(rowItem.getSweetNo()+1);

                        }
                }     
             });


               //reply button 
                holder.imageView2.setTag(Integer.parseInt(items.get(position).getUserId()));
               final int replyButtonTag= (Integer) holder.imageView2.getTag();
               holder.imageView2.setOnClickListener(new OnClickListener() {
                  @Override
                public void onClick(View arg0) {
                    Toast toast = Toast.makeText(context, "reply  is "+ replyButtonTag,Toast.LENGTH_SHORT);
                    toast.show();
                    String userId="18";
                        //voteUpDownWallPost wallPost2=new voteUpDownWallPost(replyButtonTag,userId,context,"AddWallPostVoteDown");
                    //  String status=wallPost2.sendTopost();
                    /// if(status=="true"){
                           //   holder.sweetNo.setText(rowItem.getSweetNo()+1);

                    //  }
                }     
             });



               holder.sweetButton.setTag(rowItem.getPostID());
               holder.txtDesc.setText(rowItem.getDesc());
               holder.txtUserName.setText(rowItem.getUserName());
               holder.imageView.setImageBitmap(rowItem.getImageId());
               holder.sweetNo.setText(rowItem.getSweetNo());
               holder.idealCount.setText(rowItem.getIdealCount());
               return convertView;
           }


        }

还有一件事。我如何更改以前添加的文字以获得相同和甜蜜的按钮数。

这是我的onclick post按钮,它位于活动类中: -

postButton.setOnClickListener(new OnClickListener() {
                @Override
                public void onClick(View v) {
                    EditText data=(EditText) findViewById(R.id.EditText02);
                    String wallPost=data.getText().toString();
                    String userId="18";
                    SendUserWallPost wallPost2=new SendUserWallPost(wallPost,userId,context);
                    String status= wallPost2.sendTopost();
                    // ad.setMessage(status);
                   //  ad.show(); 
                    Intent callMenuClass = new Intent(BlackboardLayout.this, BlackboardLayout.class);  
                    startActivity(callMenuClass); 
                    //fillListPost();
                }
            });

1 个答案:

答案 0 :(得分:0)

你可以像这样添加新帖子:

 Post post = new Post();
 UserPostsListViewAdapter.add(post);
 UserPostsListViewAdapter.notifyDataSetChanged();