我创建了一个显示列表的网格视图。现在我有一个问题,当用户成功发布数据我想在网格视图中添加数据,但不想加载整个网格视图,只想在以前的网格中添加数据。身体能否告诉我这是否可能实现这一目标?
以下是我的适配器的代码: -
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();
}
});
答案 0 :(得分:0)
你可以像这样添加新帖子:
Post post = new Post();
UserPostsListViewAdapter.add(post);
UserPostsListViewAdapter.notifyDataSetChanged();