android Fragment 使用adapter时getView 方法不执行,在Activity下可以执行

在网上也看了很多相关文章了,还是没有解决,在Activity下使用此代码没有任何问题,数据可以显示,但是用了Fragment adapter的getView方法就一直不执行。
我觉得他们之间唯一的区别的就是context 和view 的不同,请大神指教

代码如下

public class BookSearchActivity extends Fragment {

private BookSearchService service;
private List<Books> list;
private String result;
private BookSearchAdapter adapter;
private Handler mHandler;
private ListView listView;
private View v ;
private Context context;
@Override  
public View onCreateView(LayoutInflater inflater, ViewGroup container,  
        Bundle savedInstanceState) {  
    context= getActivity();
     v = inflater.inflate(R.layout.booksearch, container, false); 
    return inflater.inflate(R.layout.booksearch, container, false);  
}  

 @Override  
    public void onActivityCreated(Bundle savedInstanceState) {  
        super.onActivityCreated(savedInstanceState);
        mHandler = new Handler();
        new Thread(new Runnable() {
            @Override
            public void run() {
                service = new BookSearchService();

                list = service.queryBookList("", ""); 

                if (list == null)
                    result = ApplConst.FAILURE;
                else
                    result = ApplConst.SUCCESS;

                adapter = new BookSearchAdapter(list,context);
                mHandler.post(new Runnable() {
                    @Override
                    public void run() {
                        // TODO Auto-generated method stub
                        listView = ((ListView) v.findViewById(R.id.books_list_view));
                        listView.setAdapter(adapter);
                        listView.setDividerHeight(1); // 不显示分割线
                        listView.setCacheColorHint(Color.TRANSPARENT); //防止listview背景变黑
                        listView.setOnItemClickListener(new OnItemClickListener() {
                            public void onItemClick(AdapterView<?> parent,
                                    View view, int position, long id) {
                                Intent newActivity = new Intent(view.getContext(),
                                        BookSearchActivity.class);
                                Books book = (Books) listView.getItemAtPosition(position);
                                newActivity.putExtra("BookId",
                                        book.getId());
                                newActivity.putExtra("categoryId",
                                        book.getCategoryId());
                                startActivity(newActivity);
                            }
                        });
                    }

                });

            }
        }).start();

    }  

}

///////////////////////////////////////////////////////////
/////////////////////////////////////////////////////////////
Adapter

public class BookSearchAdapter extends BaseAdapter {

private int resourceId;
private List<Books> booksList;
private Map<Integer, View> rowViews = new HashMap<Integer, View>();
private Context context = null;

public BookSearchAdapter(List<Books> objects, Context context) {
    booksList = objects;
    this.context = context;

}

@Override
public View getView(int position, View convertView, ViewGroup parent) {
    View rowView = rowViews.get(position);
    if (rowView == null) {
        SimpleDateFormat df = new SimpleDateFormat("HH:mm:ss");
        LayoutInflater layoutInflater = LayoutInflater.from(context);
        rowView = layoutInflater.inflate(R.layout.booksearch_items,
                null);
        TextView publicationDate = (TextView) rowView
                .findViewById(R.id.dtPublicationDate);
        TextView bookName = (TextView) rowView
                .findViewById(R.id.txtBookName);
        TextView publish = (TextView) rowView
                .findViewById(R.id.TxtPublish);

        TextView writor = (TextView) rowView
                .findViewById(R.id.txtWritor);

        Books books = booksList.get(position);
        if (books.publicationDate != null)
            publicationDate.setText("出版时间:"
                    + DateUtil.parseDateToString(
                            books.getPublicationDate(), df));
        if(books.getBookName()!=null)
            bookName.setText(books.getBookName());
        if(books.getWritor()!=null)
            writor.setText("编者:"+books.getWritor());
        if(books.getBookName()!=null)
            publish.setText("出版社:"+books.getPublish());

        rowViews.put(position, rowView);
    }

    return rowView;
}

1个回答

你的问题解决了么,我也遇到了同样的问题

Csdn user default icon
上传中...
上传图片
插入图片
抄袭、复制答案,以达到刷声望分或其他目的的行为,在CSDN问答是严格禁止的,一经发现立刻封号。是时候展现真正的技术了!
其他相关推荐
自定义Adapter的getView方法不执行
getCount()有数据. 自定义的Adapter不显示数据.Log了一下.getView()方法没执行到.布局方面应没什么问题rn会不会是我handler的写法有问题?rn贴代码看看[code=java]package com.naxieshu.activity;rnrnimport java.util.List;rnimport java.util.Map;rnrnimport com.naxieshu.domain.Book;rnimport com.naxieshu.service.NaxieshuService;rnimport com.naxieshu.service.impl.NaxieshuServiceImpl;rnimport com.naxieshu.util.ImageUtil;rnrnimport android.app.Activity;rnimport android.content.Context;rnimport android.graphics.Bitmap;rnimport android.os.Bundle;rnimport android.os.Handler;rnimport android.os.Message;rnimport android.util.Log;rnimport android.view.LayoutInflater;rnimport android.view.View;rnimport android.view.ViewGroup;rnimport android.view.View.OnClickListener;rnimport android.widget.Button;rnimport android.widget.ImageView;rnimport android.widget.ListView;rnimport android.widget.SimpleAdapter;rnimport android.widget.TextView;rnimport android.widget.Toast;rnrnpublic class FindActivity extends Activity implements OnClickListenerrn protected static final String TAG = "FindActivity";rn /**搜索按钮*/rn Button searchBtn;rn /**搜索输入框*/rn TextView searchText;rn /**搜索结果列表*/rn ListView listView;rn /**创建业务层实例*/rn NaxieshuService service = new NaxieshuServiceImpl(this);rn rn @Overridern protected void onCreate(Bundle savedInstanceState) rn super.onCreate(savedInstanceState);rn setContentView(R.layout.activity_find);rn rn searchBtn = (Button)findViewById(R.id.search_btn);rn searchText = (TextView)findViewById(R.id.search_text);rn listView = (ListView)findViewById(R.id.search_books);rn searchBtn.setOnClickListener(this);rn rn rn Handler handler = new Handler() rn public void handleMessage(Message msg) rn if(msg.what == R.id.search_btn)rn MyListAdapter myListAdapter = (MyListAdapter) msg.obj;rn /**为listView绑定自定义控制*/rn listView.setAdapter(myListAdapter);rn rn ;rn ;rn rn /**点击事件处理*/rn public void onClick(View v) rn switch (v.getId()) rn case R.id.search_btn:rn //因为数据源与MyListAdapter中涉及网络连接.所以开个子线程rn new Thread()rn public void run() rn String value = searchText.getText().toString();rn List> list = service.findBookByNameOrWriter(value);rn /**实例自定义控件*/rn SimpleAdapter myListAdapter = new MyListAdapter(FindActivity.this,list);rn Message msg = new Message();rn msg.what = R.id.search_btn;rn msg.obj = myListAdapter;rn handler.sendMessage(msg);rn ;rn .start();rn break;rn rn rn rn /**自定义List内容控制*/rn class MyListAdapter extends SimpleAdapterrn public Context context;rn public List> data;rn rn public MyListAdapter(Context context,rn List> data) rn super(context, data, 0, null, null);rn this.context = context;rn this.data = data;rn rn rn /**rn * 在创建View资源对象的时候提供效率的缓存策略rn */rn class ViewHoldrn //book.coverrn public ImageView image;rn //book.title book.shortIntrorn public TextView namtView,introView,nullView;rn rn ViewHold hold =null;rn rn @Overridern public View getView(int position, View convertView, ViewGroup parent) rn Log.i(TAG, "DDD");rn //判断是否第一次执行convertView,如果是第一次就进行布局资源的创建操作rn if (convertView == null)rn hold = new ViewHold();rn //填充加载布局资源rn convertView = LayoutInflater.from(getApplicationContext()).inflate(R.layout.activity_find_listview, null);rn hold.image = (ImageView)convertView.findViewById(R.id.bookImage);rn hold.namtView = (TextView)convertView.findViewById(R.id.bookName);rn hold.introView = (TextView)convertView.findViewById(R.id.bookShortIntro);rn hold.nullView = (TextView)convertView.findViewById(R.id.booknull);rn //保存标记rn convertView.setTag(hold);rn else rn hold = (ViewHold) convertView.getTag();rn rn //获取数据,进行数据填充rn Book book = (Book) data.get(position).get("book");rn Bitmap bitmap = ImageUtil.getImageBitmap(book.getCover());rn hold.image.setImageBitmap(bitmap);rn hold.namtView.setText(book.getTitle());rn hold.introView.setText(book.getShortIntro());rn return convertView;rn rnrn @Overridern public int getCount() rn Log.i(TAG, "getCount:"+this.data.size());rn return this.data.size();rn rnrn @Overridern public Object getItem(int position) rn return super.getItem(position);rn rnrn @Overridern public long getItemId(int position) rn return super.getItemId(position);rn rn rnrn[/code]
鬼异的adapter的getview方法不执行?
没什么任何的异常报出但是就是不执行getview方法,不知道什么情况?rn一般来说getcount方法里有数据的话应该是执行getview的方法的rn我在adapter里面每一个方法都作了打印,[img=http://img.my.csdn.net/uploads/201212/27/1356577271_6349.png][/img]打印如图,我就弄不明白了,到底是哪里出了问题,高手请帮下!
Android自定义Adapter重写的getView()不执行
想写个邮箱自动补全n直接用了系统的下拉菜单n![图片说明](https://img-ask.csdn.net/upload/201511/06/1446796673_971894.jpg)nn这是Adapter的代码n![图片说明](https://img-ask.csdn.net/upload/201511/06/1446796828_903480.jpg)nngetView()方法不执行
自定义Adapter中的getView()方法不执行
在某些Android设备中,子线程通知主线程更新UI,执行setAdapter时,getcount()有数值,但是getView()方法却没有执行?造成这样的原因有哪些?
android 中的自定义Adapter中的getView方法不执行
android 中的自定义Adapter中的getView方法不执行 是什么原因??
listview的getView方法不执行
刚才遇到一个问题就是,listview的getView方法不执行,集合里面有数据,但是也不显示到手机上,后来发现,listview的宽和高是wrap_content,改成match_parent就出来数据了,不知道为什么,而且集合里面只有一个数据,可是显示到手机上是两条重复的数据。
listView的getView()方法不执行
开发过程中遇到的坑 - - SwipeRefreshLayout 错误(表象):listView设置adapter后不执行getView方法,getCount() > 0 原因:listView的父View是SwipeRefreshLayout控件,该控件只能有一个直接子View ,当有多个时只显示第一个view 原因分析:1.先排除代码方面的问题:getCou
BaseAdapter执行getCount()不执行getView()方法解决。
前言:   在给ListView设置适配器(BaseAdapter)时,只执行了getCount(),返回值不为0,却不执行getView()。但是没报任何错误肯异常,网上查了各种资料未解决,最后想了想是不是其他地方错了,最后终于解决。 解决办法:: 未执行getview()的几种情况 1.  getCount()返回值为0; 2.布局文件有问题。 3.
重写ListView的Adapter时,getView()方法没有执行的原因
1、 在做setAdapter()方法时,程序会首先执行getCount()方法,当getCount()方法返回 0 时,就不会去执行getView()方法,所以在重写的时候要注意getCount()方法的return数据。         2、在多线程编程中,当数据赋值和setAdapter()是在不同的线程中,可能 getCount() 的返回具体数据的 size() 值为 0 ,也
android --activity 中的控件设置侦听(onclickListener)无效,自定义adapter不执行getView 方法
今天敲代码时,遇到这样的一个错误:写了一个activity,结果给某些布局设置侦时,没有效果 activity 代码 比如说一个Button,back设置点击侦听无用,但如果用写onclick方法就有效,弄了一天都没弄懂,后来把代码改了下就Ok了 这是改后代码 原因: 开始的时候,用java实例化了view,然后在这个view的基础上实例化了我要用的控件,但是,我
一个android中诡异问题执行getcount()不执行getView()方法
public class Fragment extends BaseFragment rn private static final String TAG = "VehicleFragment";rn private UserInfo uif;rn private ListView listview;rn private View vehicleView;rn private MyJsonHttpResponseHanlder mJsonHanler;rn public RelativeLayout defaultLayout; rn public ArrayList premiumVehicles = new ArrayList();rn private VehicleListViewAdapter mAdapter;rn private View footerView;rnrn @Overridern public View initView(LayoutInflater inflater) rn rn mTopBar.setTitle("我在北京");rn mTopBar.isHidenLeft(false);rn mTopBar.isHidenRight(false);rn mTopBar.setLeftIcon(R.drawable.icon_main_head);rn uif = UserInfo.getInstance();rn rn vehicleView = inflater.inflate(R.layout.layout_fragment_vehicle, null);rn listview = (ListView) vehicleView.findViewById(R.id.vehicle_lv);rn defaultLayout = (RelativeLayout) vehicleView.findViewById(R.id.default_fl);rn footerView = View.inflate(context,R.layout.item_last_vehicle, null);rn mJsonHanler = new MyJsonHttpResponseHanlder();rn defaultLayout.setVisibility(View.GONE);rn rn final TextView tv_number = (TextView) footerView.findViewById(R.id.tv_num);rn tv_number.setOnClickListener(new OnClickListener() rn @Overridern public void onClick(View v) rn String phoneNumber = tv_number.getText().toString().trim();rn Intent intent = new Intent();rn intent.setAction(Intent.ACTION_CALL);rn intent.setData(Uri.parse("tel:"+phoneNumber));rn startActivity(intent);rn rn ); rn mTopBar.setOnTopbarClickListener(new OnTopbarClickListener() rn @Overridern public void clickRight() rn @Overridern public void clickLeft() rn slidingMenu.toggle(true);rn rn );rn rn return vehicleView;rn rnrn @Overridern public void initData(Bundle savedInstanceState) rn// try rn// getAllVehicleList();rn// catch (JSONException e) rn// e.printStackTrace();rn// rn rn rn @Overridern public void onHiddenChanged(final boolean hidden) rn super.onHiddenChanged(hidden);rn if(scv!=null)rn scv.toggleNoticePoint(false); rn rn MainActivity.mainActivity.getMenuFragment().setMenuCosedListener(new OnMenuClosedListener() rn rn @Overridern public void onMenuClosed(boolean isColsed) rn if(isColsed && !hidden)rn try rn getAllVehicleList(); rn catch (Exception e) rn e.printStackTrace();rn rn rn rn );rn rn rn rn public void getAllVehicleList() throws JSONExceptionrn Log.d(TAG, "userInfo = "+uif.toString());rn HiCarHttpClient.getWithLogin(context, URLs.HISTORY, mJsonHanler);rn SimpleHUD.showLoadingMessage(context, "正在加载", true); rn rn rnrn private class MyJsonHttpResponseHanlder extends TextHttpResponseHandlerrnrn @Overridern public void onFailure(int statusCode, Header[] headers, String errorResponse, Throwable throwable) rn Log.e(TAG, "statusCode="+statusCode+" throwable="+throwable.toString());rn SimpleHUD.dismiss();rn SimpleHUD.showErrorMessage(context, "获取失败");rn rnrn @Overridern public void onSuccess(int statusCode, Header[] headers, String responseStr) rn rn String[] createKeys = GenerateSecretKey.createKey(uif.getToken());rn String iv = GenerateSecretKey.getIv(createKeys[1], createKeys[0]);rn String jsonString = GenerateSecretKey.byCBCDecrypt(responseStr, createKeys[0], iv);rn JSONObject response = null;rn try rn if(jsonString==null || "".equals(jsonString)) return; rn response = new JSONObject(jsonString);rn catch (JSONException e) rn e.printStackTrace();rn rn Log.i(TAG, "statusCode="+statusCode+", jsonString="+jsonString);rn rn if(response.optBoolean("success") && response.optInt("code")==200)rn SimpleHUD.dismiss();rn try rn if(premiumVehicles!=null)rn premiumVehicles.clear();rn premiumVehicles.addAll(JsonUtils.parseCarInfoFromJson(response));rn catch (Exception e) rn e.printStackTrace();rn rn if(premiumVehicles!=null && premiumVehicles.size()>0) rn defaultLayout.setVisibility(View.GONE);rn if(mAdapter == null)rn System.out.println("mAdapter为空时");rn mAdapter = new VehicleListViewAdapter();rn listview.addFooterView(footerView);rn listview.setAdapter(mAdapter);rn elsern System.out.println("mAdapter不为空时");rn notifyDataSetChanged();rn rn else rn listview.setVisibility(View.GONE);rn defaultLayout.setVisibility(View.VISIBLE); rn rn rn rn rn rn public void notifyDataSetChanged() rn if (mAdapter == null) rn mAdapter = new VehicleListViewAdapter();rn rn listview.setAdapter(mAdapter);rnrnrn @Overridern public void onResume() rn super.onResume();rnrn rn rn public void onPause() rnrn rn rn public class mListViewAdapter extends BaseAdapter rn private static final String TAG = "VehicleListViewAdapter";rn private CarInfo carInfo;rn private ViewHolder holder;rn rn rn @Overridern public int getCount() rn Log.i(TAG, "premiumVehicles.size()="+premiumVehicles.size());rn if (premiumVehicles.size() > 0) rn footerView.setVisibility(View.VISIBLE);rn defaultLayout.setVisibility(View.GONE);rn rn return premiumVehicles.size();rn rn View Itemview; rn @Overridern public View getView(final int position, View convertView, ViewGroup parent) rn rn if(convertView==null)rn System.out.println("getView="+"=========");rn Itemview = View.inflate(context,R.layout.item_vehicle, null);rn holder = new ViewHolder(); rn holder.tv_check=(TextView) Itemview.findViewById(R.id.tv_check);rn holder.tv_date=(TextView) Itemview.findViewById(R.id.tv_date); rn holder.tv_text=(TextView) Itemview.findViewById(R.id.tv_text); rn holder.tv_car=(TextView) Itemview.findViewById(R.id.tv_car); rn holder.tv_textview=(TextView) Itemview.findViewById(R.id.tv_textview); rn holder.tv_textv=(TextView) Itemview.findViewById(R.id.tv_textv); rn holder.delete_im=(ImageView) Itemview.findViewById(R.id.delete_im); rn rn Itemview.setTag(holder);rn elsern System.out.println("getView="+"===convertView!=null====");rn holder = (ViewHolder) convertView.getTag();rn Itemview = convertView;rn rn Log.i(TAG, "premiumVehicles.get(position) = "+premiumVehicles.get(position));rn carInfo = premiumVehicles.get(position);rn holder.tv_date.setText(carInfo.query_time);rn holder.tv_car.setText(carInfo.plate_no); rn holder.tv_textview.setText(carInfo.vehicle_family);rn holder.tv_textv.setText(carInfo.model_code);rn holder.delete_im.setOnClickListener(new OnClickListener() rn @Overridern public void onClick(View v) rn delete(position);rn rn );rn rn holder.tv_check.setOnClickListener(new OnClickListener() rn @Overridern public void onClick(View v) rn CarInfo carInfo = premiumVehicles.get(position);rn Intent intent = new Intent(context, CarInsuranceSelectActivity.class);rn intent.putExtra("license_owner", carInfo.license_owner); rn intent.putExtra("model_code", carInfo.model_code); rn intent.putExtra("plate_no", carInfo.plate_no); rn intent.putExtra("query_time", carInfo.query_time); rn intent.putExtra("vehicle_brand", carInfo.vehicle_brand); rn intent.putExtra("vehicle_family", carInfo.vehicle_family); rn intent.setAction("premium.vehicle.nopay"); rn startActivity(intent);rn rn );rn return Itemview;rn rn rn private void delete(final int position) rn JSONObject jsonObject = new JSONObject();rn JSONObject json = null;rn try rn json = jsonObject.put("plate_no", carInfo.plate_no);rn catch (JSONException e) rn e.printStackTrace();rn rn HiCarHttpClient.postWithLogin(context, URLs.DELETE, json, new TextHttpResponseHandler()rn @Overridern public void onFailure(int statusCode, Header[] headers, String errorResponse, Throwable throwable) rn Log.e(TAG, "statusCode="+statusCode+" "+"errorResponse="+errorResponse.toString());rn rn @Overridern public void onSuccess(int statusCode, Header[] headers, String responseStr) rn rn String[] createKeys = GenerateSecretKey.createKey(uif.getToken());rn String iv = GenerateSecretKey.getIv(createKeys[1], createKeys[0]);rn String jsonString = GenerateSecretKey.byCBCDecrypt(responseStr.toString(), createKeys[0], iv);rn JSONObject response = null;rn try rn if(jsonString==null || "".equals(jsonString)) return; rn response = new JSONObject(jsonString);rn catch (JSONException e) rn e.printStackTrace();rn rn boolean optBoolean = response.optBoolean("success");rn int optInt = response.optInt("code");rn Log.d(TAG, "Success="+optBoolean+" "+"code="+optInt);rn if (optBoolean == true && optInt == 200) rn premiumVehicles.remove(position);rn// VehicleListViewAdapter.this.notifyDataSetChanged();rn notifyDataSetChanged();rn if (premiumVehicles.size() == 0) rn footerView.setVisibility(View.GONE);rn defaultLayout.setVisibility(View.VISIBLE);rn rn rn rn rn );rn rn rn @Overridern public CarInfo getItem(int position) rn return null;rn rnrn @Overridern public long getItemId(int position) rn return 0;rn rn rn class ViewHolder rn TextView tv_date,tv_car,tv_textview,tv_textv,tv_text;rn TextView tv_check;rn ImageView delete_im;rn
自定义Adapter的getView方法的含义
随便写一点的
关于listview的自定义adapter不执行getview()方法的几种情况和解决办法
自定义PersonAdapter 继承自BaseAdapter; PersonAdapter中getView不执行。 布局使用lsitView 分析: 遇到此种情况 一、查看adapter绑定的数据 data.size() 是否为0 二、修改listview高度为固定 验证 三、修改listview父布局高度为固定值 验证 四、查看dapter绑定的是不是同一个listview 验证 我出现...
诡异的getView方法不执行问题
[img=https://img-bbs.csdn.net/upload/201408/02/1406967873_325919.png][/img]rn[img=https://img-bbs.csdn.net/upload/201408/02/1406967883_54642.png][/img]rn[img=https://img-bbs.csdn.net/upload/201408/02/1406967923_464882.jpg][/img]rnrn以上为我的代码和打印logrn 可以看到getCount方法中的日志已经打印出来了rn而getView方法中日志就打印不出来rnrn请各位大神解决 为什么getView方法就不走呢 ,太神奇了都![img=https://forum.csdn.net/PointForum/ui/scripts/csdn/Plugin/003/monkey/15.gif][/img]rn
Android 关于activity嵌套fragment的时候onactivityresult方法不执行的总结
总结为两种解决办法; 1.当fragment所属的activity中也包含此方法时,需要加上 //由于fragment中需要使用 onactivityResult()方法,所以要加上 super,否则fragment中此方法不调用 super.onActivityResult(requestCode, resultCode, data); 2.activty中有 activit
[Android]在Adapter的getView方法中绑定OnClickListener比较好的方法
[Android]在Adapter的getView方法中绑定OnClickListener比较好的方法     给ListView中每个item绑定点击事件的方法,比较常见的如下这种方式: 1 public View getView(int positon, View convertView, ViewGroup parent){ 2 if(null == convert...
关于adapter的getView
请问以下两种写法那种比较好 , 效率上有什么区别吗?rnrn[code=Java]public View getView(int position, View convertView, ViewGroup parent) rn if (convertView == null) rn convertView = inflater.inflate(R.layout.item, null);rn TextView id = (TextView) convertView.findViewById(R.id.id);rn TextView name = (TextView) convertView.findViewById(R.id.name);rn id.setText("xxx");rn name.setText("xxx");rn rn return convertView;rnrnrnrnpublic View getView(int position, View convertView, ViewGroup parent) rn if (convertView == null) rn convertView = inflater.inflate(R.layout.item, null);rn rn TextView id = (TextView) convertView.findViewById(R.id.id);rn TextView name = (TextView) convertView.findViewById(R.id.name);rn id.setText("xxx");rn name.setText("xxx");rn return convertView;rn[/code]
adapter的getView()执行过程
getView():执行过程,每进一次adapter,就执行一次,如在adapter里面setText(“123456”),进去该adapter界面会显示一条,切换到其他界面,回来又显示一条,就是两条
Adapter中的getView()方法只走了两遍
前几天,在工作项目中,发现一个奇怪的现象,就是在调用adapter时,它的getView方法只走了两遍。我敢肯定,我传进去的List的size的值绝对是大于2,然后就一直在找原因。最后发现是我在布局文件中,ListView被挤到了,也就是说给ListView的空间太小了,甚至是没有(比如说,在一个线性布局中,水平排放的,然后一个控件设置了宽度为match_parent,然后ListView就算是成功
Adapter中getView()方法多次调用问题
有的时候大家在写数据适配器的时候,会发现适配器中getview方法会多次调用,非常浪费浪费资源。或者数据错乱。今天就一起来看下 这个问题。 Listview的子布局最好使用 Listview的子布局中的根布局match_parent替换成fill_parent Listview子布局如下<?xml version="1.0" encoding="utf-8"?> <LinearLayout xml
ListView的adapter中getView方法一直调用
当ListView的高度不定(例如重写ListView搞成可自动的扩展的ListView)或 ListView嵌套在SrollView(高度不定)中,listView中的一个item元素改变会使得全部item都调用getView()的方法。这种 ok 一定要用LinearLayout套ListView(具体原因还不太清楚) <ScrollView android:layout_w
android listview自定义adapter,getview方法不显示
adapter的getCount值不为0,但是不执行getview方法,在ErrorLog中打印出来的log在下面贴出来了,希望路过的大牛们帮忙看看n![图片说明](https://img-ask.csdn.net/upload/201507/23/1437619354_763964.png)
请教:ListView设置adapter之后,不走adapter的getView方法
大家好,我的需求是这样的,如果本地有数据,直接加载本地数据,然后new一个adapter,adapter设置后可以正常显示出listview,问题是如果本地没有数据,从网络上获取数据后,再new一个adapter,listview.setAdapter(adapter)之后,不走getView()方法,其中调用getCount()返回的值是5。rn太奇怪了,请大虾们帮忙分析一下,多谢啦。
自定义adapter时getView方法返回null出现的异常
java.lang.NullPointerException: Fragment Attempt to invoke virtual method ‘int android.view.View.getImportantForAccessibility()’ on a null object reference 今天要在Fragment中展示一个列表数据,由于只是测试,所以在fragment的on
Fragment和Activity的传值方法
public static MyOrderListFragment getInstance(String orderStatus) { MyOrderListFragment fragment = new MyOrderListFragment(); Bundle bundle = new Bundle(); bundle.putString("OrderStatus",
android Activity与Fragment
Android下的Activity和Fragment的生命周期,详细的说明了Activity的状态保存,并说明Activity在屏幕旋转等特定的情况下的生命周期的变化
android Fragment Activity
android Fragment Activity fragment_layout.xml
Android开发之继承BaseAdapter的自定义adapter中,不执行getView()
踩坑 @Override public int getCount() { return 0; } 这个返回0,说明,你0长度放进去,要修改成 @Override public int getCount() { return list.size(); } 大功告成 ...
adapter调用fragment中的方法
adapter调用fragment中的方法 前言:昨天遇到一个技术难题,对于我来说哈.我写的demo需求是在fragment中放一个RecyclerView,然后RecyclerView显示一些简单的数据,这些数据需要请求网络才行.然后我自定义了一个adapter,发现在处理RecyclerView子项的点击事件时,由于adapter不是fragment的内部类,不能直接访问fragment的属
android 中fragment和activity
[size=24px][size=16px]我在MainActivity用了一个viewpager包裹了四个fragment ->> fragment1 fragment2 fragment3 fragment4 在fragment4中有一个按钮 点击按钮调转到登陆的Activity->>>LoginActivity 在LoginActivity 中 输入用户名和密码 登陆成功之后 又会重新回到 MainActivity中的fragment4的那个页面 但是这个页面的会显示出 用户登录成功后的 用户信息 该如何实现呢 求大神帮忙?[/size][/size]
Android Activity动态加载Fragment
Android Activity动态加载FragmentDemo(开发工具Android Studio3.1.4)
android ListView 和Adapter 结合,但是不调用getView()方法??
下午出现这个问题也是上网找了好多文章,上边说了好多 和我的都不一样。最终各种情况都看了 。就是感觉自己写的逻辑代码肯定 没错,最后 抱着试试看的心态,是不是ListView控件的问题。因为我使用的是PullToRefreshListView,我感觉可能是PullToRefreshListView内部的问题,正当我打算将PullToRefreshListView改成ListView试试呢。我看见Pu
adapter.notifyDataSetChanged执行的时候没有执行getview,adapter内容改变了
发现了一个奇怪的问题,adapter我改变了里面的内容,但是adapter.notifyDataSetChanged的时候却没有执行getview,不知道是我哪里写错了,求问
android中fragment和activity
我在MainActivity用了一个viewpager包裹了四个fragment ->> fragment1 fragment2 fragment3 fragment4 在fragment4中有一个按钮 点击按钮调转到登陆的Activity->>>LoginActivity 在LoginActivity 中 输入用户名和密码 登陆成功之后 又会重新回到 MainActivity中的fragment4的那个页面 但是这个页面的会显示出 用户登录成功后的 用户信息 该如何实现呢 求大神帮忙?
Activity重建时保持Fragment状态的方法
Activity重建时保持Fragment状态的方法
Adapter 中getView使用注意点
Adapter 中getView使用时需要判断convertView是否为null,若不为null则只需更新该view的数据及状态即可。若重新创建:1、速度慢,2、很快会耗尽内存(android内部可能会保持对该view的引用) 代码片断:     public class AppsAdapter extends BaseListAdapter {         public View g...
Android小白关于Activity,Fragment,Adapter之间传值的一些记录
Activity,Fragment,Adapter之间传值 1.往activity传值 :在activity中写start方法。如下 public static void start(Context context, String typeId, String stateId, String id, String rfId, String content) { Intent starter = n...
Android Activity加载Fragment的一般简易方法
Android Activity加载Fragment的一般简易方法 首先写一个布局,布局里面以FrameLayout布局为佳, <FrameLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:tools="http://schemas.android.com/tools" and
【Android】ListView开发中Adapter使用Activity中的方法
最近在做一个项目,本来只做一栏,后来需求有所变化,变成不确定栏数了,有时一栏,有时两栏,或者更多,我就想引入ExpandableListView,引入这个控件对我也是个挑战,因为之前我连listView用着都不是很熟练,
adapter里getView的标准格式
public View getChildView(int groupPosition, int childPosition, boolean isLastChild, View convertView, ViewGroup parent) { View view = convertView; ItemV...
相关热词 c# 标准差 计算 c#siki第五季 c#入门推荐书 c# 解码海康数据流 c# xml的遍历循环 c# 取 查看源码没有的 c#解决高并发 委托 c#日期转化为字符串 c# 显示问号 c# 字典对象池