怎么个不执行法?有什么日志输出或log日志不?这问的。

解决方案 »

  1.   

    没有显示  list中也有值  就是不显示出来
    public View getView(int position, View convertView, ViewGroup viewGroup) {
    inflater = LayoutInflater.from(context);
    if (convertView == null) {
    convertView = inflater.inflate(R.layout.myorder_listview, null);
    // 简介菜单的菜名 TextView txt_mealName = (TextView) convertView
    .findViewById(R.id.txt_mealname); System.out.println("gmajjjkkkklg"
    + nameAndprice.get(position).getName());
    txt_mealName.setText(nameAndprice.get(position).getName()); // 简介菜单的删除按钮
    iv_delete = (ImageButton) convertView
    .findViewById(R.id.ibtn_delete); }}
      

  2.   

    要首先调用super.getView(....),再重载
      

  3.   

    package com.teego.adapter;import java.util.ArrayList;
    import java.util.HashMap;
    import java.util.Iterator;
    import java.util.List;
    import java.util.Map.Entry;import com.teego.activity.PictureViewActivity;
    import com.teego.activity.R;
    import com.teego.db.DBHelperColumn;
    import com.teego.db.DataBaseHelper;
    import com.teego.db.SqliteHelperUtil;
    import com.teego.entity.Vegetable;
    import android.content.Context;
    import android.database.Cursor;
    import android.database.sqlite.SQLiteDatabase;
    import android.os.Bundle;
    import android.os.Handler;
    import android.os.Message;
    import android.util.Log;
    import android.view.LayoutInflater;
    import android.view.View;
    import android.view.View.OnClickListener;
    import android.view.ViewGroup;
    import android.widget.BaseAdapter;
    import android.widget.ImageButton;
    import android.widget.LinearLayout;
    import android.widget.TextView;/**
     * @author wangtao
     * 
     *         简介菜单的Adapter
     * 
     */
    public class PictureViewConciseMyOrderAdapter extends BaseAdapter {
    private Context context;
    private LinearLayout linearLayout;
    private LayoutInflater inflater;
    private List<Vegetable> nameAndprice = new ArrayList<Vegetable>();
    private Vegetable vv;
    private SqliteHelperUtil db;
    private ImageButton iv_delete;
    private TextView txt_mealName;
    private Vegetable vt = new Vegetable();
    private LayoutInflater layoutInflater;
    private static PictureViewConciseMyOrderAdapter instance = null;
    private PictureViewActivity pv=new PictureViewActivity(); public Handler handler = new Handler() {
    public void handleMessage(Message msg) {
    super.handleMessage(msg);
    Bundle b = msg.getData();
    Vegetable vv = new Vegetable(); vv.setName(b.getString("mealname"));
    vv.setPrice(b.getInt("mealprice"));
    vv.setId(b.getInt("id")); Log.i("bundle里面的数据11111", b.get("mealname") + ""); Log.i("mealname的数据111111", b.getInt("mealprice") + ""); Log.i("mealprice的数据11111", b.getInt("id") + ""); addMealName(vv);
    notifyDataSetChanged();
    };
    }; public PictureViewConciseMyOrderAdapter() {

    } public PictureViewConciseMyOrderAdapter(Context context) {
    this.context = context;
    layoutInflater = (LayoutInflater) this.context
    .getSystemService(Context.LAYOUT_INFLATER_SERVICE);
    } public static PictureViewConciseMyOrderAdapter getInstance() {
    if (instance == null) {
    instance = new PictureViewConciseMyOrderAdapter(); }
    return instance; } @Override
    public int getCount() {
    return nameAndprice.size();
    } @Override
    public Object getItem(int position) {
    return nameAndprice.get(position);
    } @Override
    public long getItemId(int position) {
    return position;
    } @Override
    public View getView(int position, View convertView, ViewGroup viewGroup) {

    linearLayout = (LinearLayout) layoutInflater.inflate(
    R.layout.myorder_listview, null); // inflater = LayoutInflater.from(context);
    // if (convertView == null) {
    // convertView = inflater.inflate(R.layout.myorder_listview, null); // 简介菜单的菜名 txt_mealName = (TextView) linearLayout.findViewById(R.id.txt_mealname); // 简介菜单的删除按钮
    iv_delete = (ImageButton) linearLayout.findViewById(R.id.ibtn_delete); // }
    vt = nameAndprice.get(position);
    System.out.println("gmajjjkkkklg"
    + nameAndprice.get(position).getName());
    txt_mealName.setText(vt.getName()); iv_delete.setTag(position);
    Log.i("tag:Position", position + ""); iv_delete.setOnClickListener(new OnClickListener() { @Override
    public void onClick(View view) { int tag = (Integer) view.getTag();
    // vv=new Vegetable();
    vv = nameAndprice.get(tag);
    nameAndprice.remove(nameAndprice.get(tag));
    notifyDataSetChanged();
    System.out.println("临时数据库中ID " + vv.getId()); db = new SqliteHelperUtil(context);
    db.deleteDataFromTable(vv.getId());// 从数据库中删除临时表中的数据
    db.close();
    }
    }); return linearLayout;
    } // 删除菜名
    public void deleteMealItem(int index) {
    nameAndprice.remove(index);
    notifyDataSetChanged();
    } public void addMealName(Vegetable vt_name) {
    vv = new Vegetable();
    vv.setName(vt_name.getName());
    vv.setPrice(vt_name.getPrice());
    vv.setId(vt_name.getId());
    nameAndprice.add(vv); Log.i("name111", vt_name.getName());
    Log.i("name111", vt_name.getPrice() + "");
    Log.i("name111", nameAndprice.size() + ""); this.notifyDataSetChanged();

    System.out.println("getCount()"+getCount());
    }}
    addMealName(Vegetable vt_name)这个方法数据都可以加载进来  就是数据没有显示出来效果  
      

  4.   

    OnCreate()里面的listView加载的数据
    conciseorder_listview = (ListView) findViewById(R.id.myorder_listview);
    concise_MyOrderAdapter = new PictureViewConciseMyOrderAdapter(this);
    // concise_MyOrderAdapter.notifyDataSetChanged();
    conciseorder_listview.setAdapter(concise_MyOrderAdapter);
      

  5.   

    看了十分钟,太累了。代码的可读性可想而知。看了好久没有看明白你的handler是干什么的?没有发送请求的情况下它不会执行啊。大体看明白你的思路,就是handler接收数据,然后addMealName()这样nameAndprice这个list中就有数据了。是这样吗?但是我看不明白的是handler中的msg是怎么来的??
      

  6.   

    是这个意思 !!在Activity中造几条假数据可以加载到listview中 , 这样做为什么不可以呢??
      

  7.   

    是这个意思 !!在Activity中造几条假数据可以加载到listview中 , 这样做为什么不可以呢??
      

  8.   

    那你须要在设置adapter之前加入数据,如果说没有view的话那肯定没有view
      

  9.   

    如果说没有view的话你肯定是设置了adapter后再增加的数据。这只是我的猜测......
      

  10.   

    listView在开始绘制的时候,系统首先调用getCount()函数,根据他的返回值得到 listView的长度,然后根据这个长度,调用getView()逐一绘制每一行。如果你的 getCount()返回值是0的话,列表将不显示同样return 1,就只显示一行。系统显示列表时,首先实例化一个适配器(这里将实例化自定义的适配器)。当手动完成适配时,必须手动映射数据,这需要重写getView()方 法。系统在绘制列表的每一行的时候将调用此方法。getView()有三个参数,position表示将显示的是第几行,covertView是从布局文 件中inflate来的布局。我们用LayoutInflater的方法将定义好的item.xml文件提取成View实例用来显示。然后将xml文件中 的各个组件实例化(简单的findViewById()方法)。这样便可以将数据对应到各个组件上了。但是按钮为了响应点击事件,需要为它添加点击监听 器,这样就能捕获点击事件。至此一个自定义的listView就完成了,现在让我们回过头从新审视这个过程。系统要绘制ListView了,他首先获得要 绘制的这个列表的长度,然后开始绘制第一行,怎么绘制呢?调用getView()函数。在这个函数里面首先获得一个View(实际上是一个 ViewGroup),然后再实例并设置各个组件,显示之。好了,绘制完这一行了。那再绘制下一行,直到绘完为止。
    估计你getCount()返回值是0
      

  11.   

    我的gridview也遇到这种问题,真心感觉很无语!,变态
      

  12.   

    看看布局的问题,重点看看gridview
      

  13.   

    遇到同样的问题,getCount()得到的数据是3,但getView方法没执行
      

  14.   

    ListView控件本身在xml中设置了gone,getView也不会执行