Benutzerdefinierter Adapter Zeigt keine Daten an

Ich habe einen benutzerdefinierten Adapter entwickelt, der Daten von SQLite übernimmt. Die Daten werden ausgewählt und der Adapter erhält auch Daten. Aber es wird nicht in der Listenansicht angezeigt. Ich bekomme keine Fehler. Ich habe gedruckte Daten in den Adapter bekommen, aber nur ein Datensatz wird angezeigt. Nicht alle Daten.

Ich habe ein normales Beispiel für die Implementierung eines benutzerdefinierten Adapters entwickelt und befolge dieses.

Ich habe Zweifel.

1-In meiner customAdapter-Klasse. Wenn ich XML für die benutzerdefinierten Zeilen im Adapter aufblase, wenn findviewById () nur als eine Textansicht bezeichnet wird, wird angezeigt, dass möglicherweise eine Nullzeiger-Ausnahme vorliegt. Warum? meine xml für liste anzeigen zeile.

<RelativeLayout xmlns:android="http://schemas.android.com/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 meiner Fragmentklasse zeigt auch die obige Warnung für aufgeblasenes Listenansichtselement. mein fragment xml ist unten angegeben.

<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" />

mein Adaptercode

    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;

    }

}

Fragmentcode ist

 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;
}
}

Antworten auf die Frage(2)

Ihre Antwort auf die Frage