【已解决】 notifyDataSetInvalidated()无法更新adapter
写了一个BaseAdapter 想通过listview来完成一个多级目录 切页 想通过换绑布局 来设置ui,目前是想通过点击屏幕然后切换layout,notifyDataSetInvalidated(),重走getView()来换绑。但是发现没有更新,但是数据是有变得
package com.example.testfragment.fragment;
import android.annotation.SuppressLint;
import android.content.Context;
import android.util.Log;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import android.widget.BaseAdapter;
import android.widget.ListView;
import android.widget.TextView;
import com.example.testfragment.R;
import java.util.List;
public class MyAdapter extends BaseAdapter {
private final List<String> mList;
private Context mContext;
private View mView;
private View mView2;
private View mView1;
private int part=2;
public MyAdapter(List<String> list, Context context) {
this.mList=list;
this.mContext=context;
}
@Override
public int getCount() {
return mList.size();
}
@Override
public Object getItem(int position) {
return position;
}
@Override
public long getItemId(int position) {
return position;
}
public static final String TAG="zxy";
@SuppressLint("NewApi")
@Override
public View getView(int position, View convertView, ViewGroup parent) {
mView1 = LayoutInflater.from(mContext).inflate(R.layout.listview_item1, parent, false);
mView2 = LayoutInflater.from(mContext).inflate(R.layout.listview_item2, parent, false);
if (part/2==0){
Log.d(TAG, "到这里了!!!! "+part);
return mView1;
}else {
Log.d(TAG, "到这里了!!!! "+part);
return mView2;
}
}
public int getPart() {
return part;
}
public void setPart(int part) {
this.part = part;
notifyDataSetInvalidated();
}
}
你数据列表呢?不行你把size打出来。