Android 仅将一项设置为listview';s适配器

Android 仅将一项设置为listview';s适配器,android,listview,arraylist,android-arrayadapter,Android,Listview,Arraylist,Android Arrayadapter,我只想将自定义ArrayList中的一项发送到适配器。当活动开始时,我只发送一个项目。然后,我想对我的活动实现gestureListener,如果我检测到向上或向下滑动动作,我会向适配器发送另一个项目。我如何实现这一点 我有我的定制ArrayAdapter,在那里我传递我的列表。但我只想发送一个项目: public class InteractionsAdapter extends ArrayAdapter<Message>{ Context context; int la

我只想将自定义ArrayList中的一项发送到适配器。当活动开始时,我只发送一个项目。然后,我想对我的活动实现gestureListener,如果我检测到向上或向下滑动动作,我会向适配器发送另一个项目。我如何实现这一点

我有我的定制ArrayAdapter,在那里我传递我的列表。但我只想发送一个项目:

public class InteractionsAdapter extends  ArrayAdapter<Message>{

  Context context; 
int layoutResourceId;    
List<Message> messages = null;
private Activity activity;
public InteractionsAdapter(Context context,  int layoutResourceId,List<Message> messages) {
    super(context, layoutResourceId, messages);
    this.layoutResourceId = layoutResourceId;
    this.context = context;
    this.messages = messages;
}

public View getView(int position, View convertView, ViewGroup parent) {
    View row = convertView;
    InteractionHolder holder = null;

    if(row == null)
    {

        (LayoutInflater)activity.getSystemService(Context.LAYOUT_INFLATER_SERVICE);
        LayoutInflater inflater = (LayoutInflater)this.context.getSystemService(Context.LAYOUT_INFLATER_SERVICE);
        row = inflater.inflate(R.layout.interactions_item, parent, false);

        holder = new InteractionHolder();
        holder.interactionId= (TextView)row.findViewById(R.id.interactionId);
        holder.interactionAbove = (TextView)row.findViewById(R.id.interactionAbove);
        holder.interactionBelow = (TextView)row.findViewById(R.id.interactionBelow);
        holder.interactionMessage = (TextView)row.findViewById(R.id.interactionMessage);
        holder.interactionDate = (TextView)row.findViewById(R.id.interactionDate);

        row.setTag(holder);
    }
    else
    {
        holder = (InteractionHolder)row.getTag();
    }

    Message message = messages.get(position);
    Log.i("in doinbackground",Integer.toString(messages.size()));

        Log.i("position",Integer.toString(position));

        holder.interactionId.setText(Integer.toString(message.getMessageId()));
        holder.interactionAbove.setText(Integer.toString(position));
        holder.interactionBelow.setText(Integer.toString(messages.size()-position-1));
        holder.interactionMessage.setText(message.getMessageBody());
        holder.interactionDate.setText(message.getMessageDate().toString());

    return row;
}

static class InteractionHolder
{
    TextView interactionId;
    TextView interactionDate;
    TextView interactionAbove;
    TextView interactionBelow;
    TextView interactionMessage;

}

}
公共类InteractionAdapter扩展了ArrayAdapter{
语境;
国际布局资源;
列表消息=null;
私人活动;
公共InteractionAdapter(上下文上下文、int-layoutResourceId、列表消息){
超级(上下文、布局资源ID、消息);
this.layoutResourceId=layoutResourceId;
this.context=上下文;
this.messages=消息;
}
公共视图getView(int位置、视图转换视图、视图组父视图){
视图行=转换视图;
InteractionHolder=null;
if(行==null)
{
(LayoutInflater)activity.getSystemService(Context.LAYOUT\u充气机\u服务);
LayoutFlater充气器=(LayoutFlater)this.context.getSystemService(context.LAYOUT\u充气器\u服务);
行=充气机。充气(R.layout.u项,父项,false);
holder=新的InteractionHolder();
holder.interactionId=(TextView)row.findViewById(R.id.interactionId);
holder.interactionAbove=(TextView)row.findViewById(R.id.interactionAbove);
holder.interactiondown=(TextView)row.findViewById(R.id.interactiondown);
holder.interactionMessage=(TextView)row.findViewById(R.id.interactionMessage);
holder.interactionDate=(TextView)row.findViewById(R.id.interactionDate);
row.setTag(支架);
}
其他的
{
holder=(InteractionHolder)行。getTag();
}
Message Message=messages.get(位置);
Log.i(“在doinbackground中”,Integer.toString(messages.size());
Log.i(“位置”,Integer.toString(位置));
holder.interactionId.setText(Integer.toString(message.getMessageId());
holder.interactionAbove.setText(整数.toString(位置));
holder.interactiondown.setText(Integer.toString(messages.size()-position-1));
holder.interactionMessage.setText(message.getMessageBody());
holder.interactionDate.setText(message.getMessageDate().toString());
返回行;
}
静态类交互持有者
{
TextView交互ID;
文本视图交互日期;
文本视图交互;
下面的文本视图交互;
文本视图交互消息;
}
}

我试着用ArrayAdapter来做,只传递了一个项目,但它不起作用。

我解决了我的问题,只添加了一个

@Override
public int getCount() {
    return 1;
}

而且它工作正常。

到目前为止,您试过什么?给我们一些代码看看,我们将帮助您完善它。那么您正在向InteractionAdapter发送一个包含一项的数组?你能告诉我们你用来设置适配器的代码吗?