自定义电源适配器没有显示数据

编程入门 行业动态 更新时间:2024-10-24 06:38:53
本文介绍了自定义电源适配器没有显示数据的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧! 问题描述

我已经开发了一个自定义的适配器,它需要数据的SQLite。数据选择和适配器还获取数据。但它没有显示在列表视图中。我没有得到任何错误。我印刷在适配器数据得到,但只有一组数据被示出。并非所有的数据。

我已经制定,并按照正常的自定义适配器实现的例子。

我有些怀疑。

1,在我customAdapter类。当我夸大XML的适配器定制行时findviewById()被调用只有一个文本视图显示它可能会产生空指针Exception'.Why?我的XML为列表视图行。

< RelativeLayout的的xmlns:机器人=htt​​p://schemas.android/apk/res/android                 机器人:方向=垂直                 机器人:paddingTop =4dip                 机器人:paddingBottom会=6dip                 机器人:以下属性来=10dip                 机器人:paddingRight =10dip                 机器人:layout_width =FILL_PARENT                 机器人:layout_height =FILL_PARENT                 机器人:weightSum =1>     <的TextView         机器人:layout_width =WRAP_CONTENT         机器人:layout_height =WRAP_CONTENT         机器人:ID =@ + ID / row_item_name         机器人:文字颜色=@色/ item_name_color         机器人:layout_alignParentLeft =真         />     <的TextView         机器人:layout_width =WRAP_CONTENT         机器人:layout_height =WRAP_CONTENT         机器人:ID =@ + ID / row_item_price         机器人:文字颜色=@色/ item_price_color         机器人:layout_alignParentTop =真         机器人:layout_alignParentRight =真         机器人:layout_alignParentEnd =真/>     <的TextView         机器人:layout_width =WRAP_CONTENT         机器人:layout_height =WRAP_CONTENT         机器人:ID =@ + ID / row_item_contains         机器人:layout_gravity =左         机器人:layout_below =@ ID / row_item_name         机器人:layout_toRightOf =@ ID / row_item_name/>     <的TextView         机器人:layout_width =WRAP_CONTENT         机器人:layout_height =WRAP_CONTENT         机器人:ID =@ + ID / row_item_quantity         机器人:layout_above =@ ID / row_item_contains         机器人:paddingRight =10dip         机器人:layout_toLeftOf =@ ID / row_item_price/> < / RelativeLayout的>

  • 在我的片段类还上面的警告显示为充气列表视图元素。 我的XML片段给出如下:

    <的TextView     机器人:ID =@ + ID / tableTextview     机器人:layout_width =WRAP_CONTENT     机器人:layout_height =WRAP_CONTENT     机器人:layout_gravity =左     机器人:文本=@字符串/表     机器人:layout_alignParentTop =真     机器人:layout_alignParentLeft =真     机器人:layout_alignParentStart =真/> <的TextView     机器人:ID =@ + ID /用户名     机器人:layout_width =WRAP_CONTENT     机器人:layout_height =WRAP_CONTENT     机器人:layout_alignParentEnd =真     机器人:layout_alignParentRight =真     机器人:layout_gravity =右     机器人:文字颜色=@色/ BG/> <的EditText     机器人:paddingTop =6DP     机器人:ID =@ + ID / tableNumber     机器人:layout_width =WRAP_CONTENT     机器人:layout_height =WRAP_CONTENT     机器人:inputType =数字     机器人:=了maxWidth@扪/ tableNoSize     机器人:layout_below =@ ID / tableTextview     机器人:layout_alignRight =@ ID / tableTextview     机器人:layout_alignEnd =@ ID / tableTextview/> <的TextView     机器人:ID =@ + ID / TextView的     机器人:layout_width =WRAP_CONTENT     机器人:layout_height =WRAP_CONTENT     机器人:layout_alignLeft =@ ID / tableNumber     机器人:layout_alignStart =@ ID / tableNumber     机器人:layout_below =@ ID / tableNumber     机器人:layout_gravity =中心     机器人:paddingTop =6dip     机器人:paddingBottom会=4dip     机器人:文本=@字符串/菜单/> <的ListView     机器人:layout_below =@ ID / TextView的     机器人:ID =@ + ID / bearer_menu_order_list     机器人:layout_width =WRAP_CONTENT     机器人:layout_height =0dp> < / ListView控件> <按钮     机器人:ID =@ + ID / placeButton     机器人:layout_width =WRAP_CONTENT     机器人:layout_height =WRAP_CONTENT     机器人:layout_below =@ ID / TextView的     机器人:layout_gravity =center_horizo​​ntal     机器人:背景=@色/ buttonColor     机器人:文本=@字符串/ placeOrder在/>

  • 我的适配器code

    公共类MenuListAdapter扩展了BaseAdapter {     私人列表< MenuData>清单;     私人上下文的背景下;     公共MenuListAdapter(上下文的背景下,名单,其中,MenuData>列表){         this.context =背景;         this.list =清单;         Log.e(熙,则为list.size()+);     }     @覆盖     公众诠释getCount将(){         返回则为list.size();     }     @覆盖     公共对象的getItem(INT位置){         返回list.get(位置);     }     @覆盖     众长getItemId(INT位置){         返回的位置;     }     @覆盖     公共查看getView(INT位置,查看convertView,ViewGroup中父){         //Log.e("list得了 - ,+则为list.size());         Log.e(位置,+位置);         ViewHolder持有人;         LayoutInflater充气=(LayoutInflater)context.getSystemService(Context.LAYOUT_INFLATER_SERVICE);         如果(convertView == NULL){             convertView = inflater.inflate(R.layout.row_list_create_new,NULL);             持有人=新ViewHolder();             尝试{                 holder.txtName =(TextView中)convertView.findViewById(R.id.row_item_name);                 holder.txtContains =(TextView中)convertView.findViewById(R.id.row_item_contains);                 holder.txtPrice =(TextView中)convertView.findViewById(R.id.row_item_price);                 holder.txtQuantity =(TextView中)convertView.findViewById(R.id.row_item_quantity);                 convertView.setTag(保持器);                 Log.e(covertView - ,空);             }             赶上(NullPointerException异常E){                 e.printStackTrace();             }         }         其他 {             Log.e(covertView - ,非空);             支架=(ViewHolder)convertView.getTag();         }         MenuData currentRow = list.get(位置);         Log.e(项目,currentRow.getKEY_ITEM_NAME());         holder.txtName.setText(currentRow.getKEY_ITEM_NAME());         holder.txtContains.setText(currentRow.getKEY_ITEM_CONTENTS());         holder.txtPrice.setText(currentRow.getKEY_PRICE());         返回convertView;     }     类ViewHolder {         公众的TextView txtName的;         公众的TextView txtPrice;         公众的TextView txtContains;         公众的TextView txtQuantity;     } }

    片段code是

    公共类CreateOrderFragment扩展片段{     名单< MenuData> listMenu;     @覆盖     公共查看onCreateView(LayoutInflater充气,容器的ViewGroup,                              捆绑savedInstanceState){         查看rootView;         listMenu =新的ArrayList< MenuData>();         rootView = inflater.inflate(R.layout.fragment_create_new_order_list_sections,集装箱,假);         上下文的背景下= getActivity();         //视图中查看= getView();         ListView的菜单列表;         菜单列表=(ListView控件)rootView.findViewById(R.id.bearer_menu_order_list);         menuList.setVisibility(View.VISIBLE);         DatabaseHelper帮手=新DatabaseHelper(上下文);         listMenu = helper.getMenuItem();         Log.e(列表菜单 - ,listMenu.size()+);         MenuListAdapter适配器=新MenuListAdapter(背景下,listMenu);         Log.e(名单适配器 - ,+ adapter.getCount());         menuList.setAdapter(适配器);         menuList.setVisibility(View.VISIBLE);         返回rootView;     }     @覆盖     公共无效的onCreate(包savedInstanceState){         super.onCreate(savedInstanceState);         字符串的用户;         TextView的电视; } }

    解决方案

    您可以简单的实现onCreateView()的片段。

    的ListView的菜单列表;  @覆盖  公共查看onCreateView(LayoutInflater充气,   ViewGroup中的容器,包savedInstanceState){   //充气的布局该片段     查看rootView;     rootView = inflater.inflate(R.layout.fragment_create_new_order_list_sections,集装箱,假);     菜单列表=(ListView控件)rootView.findViewById(R.id.bearer_menu_order_list);     DatabaseHelper帮手=新DatabaseHelper(getActivity());     listMenu = helper.getMenuItem();     Log.e(列表菜单 - ,listMenu.size()+);     MenuListAdapter适配器=新MenuListAdapter(getActivity(),listMenu);     Log.e(名单适配器 - ,+ adapter.getCount());     menuList.setAdapter(适配器);     menuList.setVisibility(View.VISIBLE);    返回rootView;  }

    而在你的适配器类的改变,也

    公共类MenuListAdapter扩展了BaseAdapter {  私人列表< MenuData>清单;  私人上下文的背景下;  公共MenuListAdapter(上下文的背景下,名单,其中,MenuData>列表){     this.context =背景;     this.list =清单;     Log.e(熙,则为list.size()+);  }

    从onActivityCreated()方法,删除所有的code

    I have developed an custom adapter which takes data from SQLite. Data is selecting and adapter also gets data. But its not showing in the list view. I don't get any errors. I printed data get in the adapter but only one set of data is shown. Not all data.

    I have developed and follow normal custom adapter implementation example.

    I have some doubts.

    1-In my customAdapter class. when i am inflating XML for the custom rows in adapter when findviewById() is called only one Text View shows 'it may produce null pointer Exception'.Why ? my xml for list view row.

    <RelativeLayout xmlns:android="schemas.android/apk/res/android" android:orientation="vertical" android:paddingTop="4dip" android:paddingBottom="6dip" android:paddingLeft="10dip" android:paddingRight="10dip" android:layout_width="fill_parent" android:layout_height="fill_parent" android:weightSum="1"> <TextView android:layout_width="wrap_content" android:layout_height="wrap_content" android:id="@+id/row_item_name" android:textColor="@color/item_name_color" android:layout_alignParentLeft="true" /> <TextView android:layout_width="wrap_content" android:layout_height="wrap_content" android:id="@+id/row_item_price" android:textColor="@color/item_price_color" android:layout_alignParentTop="true" android:layout_alignParentRight="true" android:layout_alignParentEnd="true" /> <TextView android:layout_width="wrap_content" android:layout_height="wrap_content" android:id="@+id/row_item_contains" android:layout_gravity="left" android:layout_below="@id/row_item_name" android:layout_toRightOf="@id/row_item_name" /> <TextView android:layout_width="wrap_content" android:layout_height="wrap_content" android:id="@+id/row_item_quantity" android:layout_above="@id/row_item_contains" android:paddingRight="10dip" android:layout_toLeftOf="@id/row_item_price" /> </RelativeLayout>

  • In my fragment class also above warning shows for inflated list view element. my fragments xml is given below.

    <TextView android:id="@+id/tableTextview" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_gravity="left" android:text="@string/table" android:layout_alignParentTop="true" android:layout_alignParentLeft="true" android:layout_alignParentStart="true" /> <TextView android:id="@+id/userName" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_alignParentEnd="true" android:layout_alignParentRight="true" android:layout_gravity="right" android:textColor="@color/bg" /> <EditText android:paddingTop="6dp" android:id="@+id/tableNumber" android:layout_width="wrap_content" android:layout_height="wrap_content" android:inputType="number" android:maxWidth="@dimen/tableNoSize" android:layout_below="@id/tableTextview" android:layout_alignRight="@id/tableTextview" android:layout_alignEnd="@id/tableTextview" /> <TextView android:id="@+id/textView" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_alignLeft="@id/tableNumber" android:layout_alignStart="@id/tableNumber" android:layout_below="@id/tableNumber" android:layout_gravity="center" android:paddingTop="6dip" android:paddingBottom="4dip" android:text="@string/Menu" /> <ListView android:layout_below="@id/textView" android:id="@+id/bearer_menu_order_list" android:layout_width="wrap_content" android:layout_height="0dp"> </ListView> <Button android:id="@+id/placeButton" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_below="@id/textView" android:layout_gravity="center_horizontal" android:background="@color/buttonColor" android:text="@string/placeOrder" />

  • my Adapter code

    public class MenuListAdapter extends BaseAdapter { private List<MenuData> list; private Context context; public MenuListAdapter(Context context, List<MenuData> list) { this.context = context; this.list = list; Log.e("Hee",list.size()+""); } @Override public int getCount() { return list.size(); } @Override public Object getItem(int position) { return list.get(position); } @Override public long getItemId(int position) { return position; } @Override public View getView(int position, View convertView, ViewGroup parent) { //Log.e("list got--",""+list.size()); Log.e("position ",""+position); ViewHolder holder; LayoutInflater inflater =(LayoutInflater) context.getSystemService(Context.LAYOUT_INFLATER_SERVICE); if (convertView == null){ convertView = inflater.inflate(R.layout.row_list_create_new,null); holder = new ViewHolder(); try{ holder.txtName=(TextView)convertView.findViewById(R.id.row_item_name); holder.txtContains=(TextView)convertView.findViewById(R.id.row_item_contains); holder.txtPrice=(TextView)convertView.findViewById(R.id.row_item_price); holder.txtQuantity=(TextView)convertView.findViewById(R.id.row_item_quantity); convertView.setTag(holder); Log.e("covertView-","Null"); } catch (NullPointerException e){ e.printStackTrace(); } } else { Log.e("covertView-","Not Null"); holder = (ViewHolder) convertView.getTag(); } MenuData currentRow=list.get(position); Log.e("item ",currentRow.getKEY_ITEM_NAME()); holder.txtName.setText(currentRow.getKEY_ITEM_NAME()); holder.txtContains.setText(currentRow.getKEY_ITEM_CONTENTS()); holder.txtPrice.setText(currentRow.getKEY_PRICE()); return convertView; } class ViewHolder { public TextView txtName; public TextView txtPrice; public TextView txtContains; public TextView txtQuantity; } }

    fragment code is

    public class CreateOrderFragment extends Fragment { List<MenuData> listMenu; @Override public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) { View rootView; listMenu=new ArrayList<MenuData>(); rootView = inflater.inflate(R.layout.fragment_create_new_order_list_sections, container, false); Context context=getActivity(); //View view=getView(); ListView menuList; menuList=(ListView) rootView.findViewById(R.id.bearer_menu_order_list); menuList.setVisibility(View.VISIBLE); DatabaseHelper helper=new DatabaseHelper(context); listMenu = helper.getMenuItem(); Log.e("list menu--",listMenu.size()+""); MenuListAdapter adapter=new MenuListAdapter(context,listMenu); Log.e("list adapter--",""+adapter.getCount()); menuList.setAdapter(adapter); menuList.setVisibility(View.VISIBLE); return rootView; } @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); String user; TextView tv; } }

    解决方案

    You can simple implement onCreateView() for Fragment.

    ListView menuList; @Override public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) { // Inflate the layout for this fragment View rootView; rootView = inflater.inflate(R.layout.fragment_create_new_order_list_sections, container, false); menuList=(ListView) rootView.findViewById(R.id.bearer_menu_order_list); DatabaseHelper helper=new DatabaseHelper(getActivity()); listMenu = helper.getMenuItem(); Log.e("list menu--",listMenu.size()+""); MenuListAdapter adapter=new MenuListAdapter(getActivity(),listMenu); Log.e("list adapter--",""+adapter.getCount()); menuList.setAdapter(adapter); menuList.setVisibility(View.VISIBLE); return rootView; }

    And in your Adapter class change here also

    public class MenuListAdapter extends BaseAdapter { private List<MenuData> list; private Context context; public MenuListAdapter(Context context, List<MenuData> list) { this.context = context; this.list = list; Log.e("Hee",list.size()+""); }

    Remove all the code from onActivityCreated() method.

    更多推荐

    自定义电源适配器没有显示数据

    本文发布于:2023-11-26 21:27:34,感谢您对本站的认可!
    本文链接:https://www.elefans.com/category/jswz/34/1635248.html
    版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。
    本文标签:自定义   电源适配器   数据

    发布评论

    评论列表 (有 0 条评论)
    草根站长

    >www.elefans.com

    编程频道|电子爱好者 - 技术资讯及电子产品介绍!