Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/201.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/vb.net/16.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Android ListView在ListView项中,适配器始终位于位置0_Android_Listview_Adapter - Fatal编程技术网

Android ListView在ListView项中,适配器始终位于位置0

Android ListView在ListView项中,适配器始终位于位置0,android,listview,adapter,Android,Listview,Adapter,各位好,我在ListView项目中有一个ListView: <Button android:id="@+id/button_comments_open" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_gravity="center_horizontal" android:text="Comments" /

各位好,我在ListView项目中有一个ListView:

   <Button
    android:id="@+id/button_comments_open"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:layout_gravity="center_horizontal"
    android:text="Comments" 

    />

<ListView
    android:id="@+id/post_comment_listview"
    android:layout_width="match_parent"
    android:layout_height="wrap_content"


    >
</ListView>

内部:

 <?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical" >

<ListView
    android:id="@+id/post_fragment_listview"
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:layout_marginBottom="10dp"
    android:layout_marginLeft="10dp"
    android:layout_marginRight="10dp"
    android:layout_marginTop="10dp" >
</ListView>

</LinearLayout>

但内部ListView(项目)的适配器始终位于位置0:

 public class PostsCommentsAdapter extends BaseAdapter {


int ITEM_TEXT_TYPE = 0;
int ITEM_IMAGE_TYPE = 1;
LayoutInflater mLayoutInflater;

Context mContext;

public PostsCommentsAdapter(Context context, int layout, Cursor c, String[] from,
        int[] to,SparseArray<String> list ,int flags) {
    super();

    this.mContext = context;
    this.list = list;



    mLayoutInflater = (LayoutInflater) 
 mContext.getSystemService(Context.LAYOUT_INFLATER_SERVICE);
 }


@Override
public int getCount() {
    System.out.println("List Size : "+list.size());
    return  list.size();
}

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

 @Override
  public int getItemViewType(int position) {

     System.out.println("Getting for Position : "+position+" is The : 
 "+list.get(position));

//   mCursor.moveToPosition(commentsidslist.get(position));
     System.out.println("To Get Type"+list.get(position));
     String type = (list.get(position).split("\\&&DETAIL&&"))[1];
     int chooser = -1;

     //     1 = like    2 = dislike  3 = comment  4 = imageurl

     switch (type) {
    case "C":       
        chooser = 0;
        break;
    case "P":
        chooser = 1;
        break;

    default:
        break;
    }

 System.out.println("TYPE "+type);

     return chooser;

 }

@Override
public Object getItem(int position) {
    return list.get(position);
}

@Override
public long getItemId(int position) {
    return list.get(position).hashCode();
}



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

   ViewHolder holder = null;

    int Demand = getItemViewType(position);
    System.out.println("Demand :"+Demand);
     if (convertView == null || convertView.getTag() == null) {

        holder = new ViewHolder();

    System.out.println("ConvertView null");

         switch (Demand) {
        case 0:
            //text
             convertView = mLayoutInflater.inflate(R.layout.post_list_row_text, null);
             holder.tv = (TextView)convertView.findViewById(R.id.post_detail_row_text);
             holder.like = (Button)convertView.findViewById(R.id.button_comment_like);
             holder.dislike = 
 (Button)convertView.findViewById(R.id.button_comment_dislike);

             break;
        case 1:
            //picture
             convertView = mLayoutInflater.inflate(R.layout.post_list_row_picture, 
 null);
             holder.iv = 
 (ImageView)convertView.findViewById(R.id.comment_row_imageview);
             holder.like = (Button)convertView.findViewById(R.id.button_comment_like);
             holder.dislike = 
 (Button)convertView.findViewById(R.id.button_comment_dislike);

            break;

        default:
            break;
        }




            convertView.setTag(holder);


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


         switch (Demand) {
         case 0:

             holder.tv.setText((list.get(position).split("\\&&DETAIL&&"))[3]);
             holder.like.setText("0 For Now");
             //if
             holder.like.setOnClickListener(new OnClickListener() {

                @Override
                public void onClick(View v) {
                    // TODO Auto-generated method stub

                }
            });

             break;

         case 1:

             Picasso.with(mContext).load(((list.get(position).split("\\&&DETAIL&&"))
 [3])).resize(150, 150).into(holder.iv);
             holder.like.setText("0 For Now");
             //if
             holder.like.setOnClickListener(new OnClickListener() {

                @Override
                public void onClick(View v) {
                    // TODO Auto-generated method stub

                }
            });

             break;

        default:
            break;
        }




    System.out.println("Post Row Detail Item : "+((list.get(position))));
    return convertView;
}
公共类PostsCommentsAdapter扩展BaseAdapter{
int ITEM_TEXT_TYPE=0;
int ITEM_IMAGE_TYPE=1;
放平机MLAYOUTIONFLATER;
语境;
公共PostsCommentsAdapter(上下文上下文、int布局、光标c、字符串[]from、,
int[]至,SparseArray列表,int标志){
超级();
this.mContext=上下文;
this.list=列表;
MLAyoutFlater=(LayoutFlater)
mContext.getSystemService(Context.LAYOUT\u充气机\u服务);
}
@凌驾
public int getCount(){
System.out.println(“列表大小:+List.Size());
返回list.size();
}
@凌驾
public int getViewTypeCount(){
返回2;
}
@凌驾
public int getItemViewType(int位置){
System.out.println(“获取位置:“+Position+”是:
“+list.get(position));
//moveToPosition(commentsidslist.get(position));
System.out.println(“获取类型”+list.Get(位置));
字符串类型=(list.get(position.split(“\\&&DETAIL&&”)[1];
int-chooser=-1;
//1=喜欢2=不喜欢3=评论4=图像URL
开关(类型){
案例“C”:
选择器=0;
打破
案例“P”:
选择器=1;
打破
违约:
打破
}
系统输出打印项次(“类型”+类型);
返回选择器;
}
@凌驾
公共对象getItem(int位置){
返回列表。获取(位置);
}
@凌驾
公共长getItemId(int位置){
return list.get(position.hashCode();
}
@凌驾
公共视图getView(最终整数位置、视图转换视图、视图组父视图){
ViewHolder=null;
int Demand=getItemViewType(位置);
系统输出打印项次(“需求:+需求);
if(convertView==null | | convertView.getTag()==null){
holder=新的ViewHolder();
System.out.println(“ConvertView null”);
开关(按需){
案例0:
//正文
convertView=mLayoutInflater.FLATE(R.layout.post\u list\u row\u text,空);
holder.tv=(TextView)convertView.findViewById(R.id.post\u detail\u row\u text);
holder.like=(Button)convertView.findViewById(R.id.Button\u comment\u like);
holder.Loke=
(按钮)convertView.findViewById(R.id.Button\u comment\u disk);
打破
案例1:
//图画
convertView=MLAYOUTINGER.充气(右布局图、后列表图、行图、,
无效);
第四章=
(ImageView)convertView.findViewById(R.id.comment\u row\u ImageView);
holder.like=(Button)convertView.findViewById(R.id.Button\u comment\u like);
holder.Loke=
(按钮)convertView.findViewById(R.id.Button\u comment\u disk);
打破
违约:
打破
}
convertView.setTag(支架);
}否则{
holder=(ViewHolder)convertView.getTag();
}
开关(按需){
案例0:
holder.tv.setText((list.get(position).split(“\\&&DETAIL&&”)[3]);
holder.like.setText(“目前为0”);
//如果
holder.like.setOnClickListener(新的OnClickListener(){
@凌驾
公共void onClick(视图v){
//TODO自动生成的方法存根
}
});
打破
案例1:
毕加索.with(mContext).load(((list.get(position).split(“\\&&DETAIL&&&”))
[3] )。将(150150)调整为(支架iv);
holder.like.setText(“目前为0”);
//如果
holder.like.setOnClickListener(新的OnClickListener(){
@凌驾
公共void onClick(视图v){
//TODO自动生成的方法存根
}
});
打破
违约:
打破
}
System.out.println(“Post行详细信息项:”+((list.get(position)));
返回视图;
}

我尝试了几乎所有的方法,但都不起作用,我的问题在哪里?!

你们应该使用可扩展的listView。在这里获取教程:

使用ExtendedListView来满足这种要求。适配器将始终从位置0开始,如果你们想设置listView来显示其他项目,只需调用listView.setSelection(位置);不是开始,它只显示1个项目你对dude来说是哪一个?项目列表视图还是外部列表视图
我在列表视图项目中有一个列表视图
,正如@Imtiyaz所说,你应该使用一个
可扩展列表视图
。不仅使用起来更容易,而且速度也更快。对于当然。避免重新发明轮子!