0

这是我从ArrayList中获取数据的代码:为什么我没有从ArrayList获取ListView数据?

getTables=new Runnable() 
    { 
     @Override 
     public void run() 
     { 
      db.open(); 
      try 
      { 

       tables = db.showAllTable();  
       for(int i=0;i<db.showAllTable().size();i++) 
       { 
         System.out.println("=====>"+(i+1)); 
         System.out.println("Table :"+tables.get(i).toString()); 
       } 

       customAdapter=new ImageAdapter(ListofTests.this, R.layout.list_row,tables); 

      } 
      catch (Exception e) 
      { 
       e.printStackTrace(); 
      } 
      //setListAdapter(customAdapter); 
      runOnUiThread(hideProgressBar); 
      db.close(); 
     } 
    }; 

这里是我ImageAdapter类:

class ImageAdapter extends ArrayAdapter<Object> 
{ 

    private ArrayList<Object> tables; 
    //ImageLoader imageLoader; 
    Context m_context; 
    public ImageAdapter(Context context, int textViewResourceId,ArrayList<Object> items) 
    { 
     super(context, textViewResourceId, items); 
     m_context=context; 
     //this.tables = tables; 
    } 
    public View getView(final int position, View convertView, ViewGroup parent) 
    { 
     View v = convertView; 
     ViewHolder holder = null; 

     if (v == null) 
     { 

      try 
      { 
      holder=new ViewHolder(); 
      //imageLoader=new ImageLoader(CustomSearch.this); 
      LayoutInflater vi = (LayoutInflater) getSystemService(Context.LAYOUT_INFLATER_SERVICE); 
      v = vi.inflate(R.layout.list_row, null); 
      holder.table_name=(TextView) v.findViewById(R.id.table_name); 

      v.setTag(holder); 

      } 
      catch(Exception e) 
      { 
       System.out.println("Excption Caught"+e); 
      } 
     } 
     else 
      holder=(ViewHolder)v.getTag(); 

     Object table = tables.get(position); 

     if(table!=null) 
     { 
      holder.table_name.setText("Hello"); 
     } 

     return v; 

    } 
} 

现在我不知道我错了。我无法看到列表视图中的数据列表。 请帮我解决这个问题。 谢谢。

错误日志:

09-02 14:14:13.654: ERROR/AndroidRuntime(771): FATAL EXCEPTION: main 

09-02 14:14:13.654:ERROR/AndroidRuntime(771):显示java.lang.NullPointerException 09-02 14:14:13.654:ERROR/AndroidRuntime(771 ):at com.quiz.spellingquiz.ListofTests $ ImageAdapter.getView(ListofTests.java:143) 09-02 14:14:13.654:ERROR/AndroidRuntime(771):at android.widget.AbsListView.obtainView(AbsListView.java :1315) 09-02 14:14:13.654:ERROR/AndroidRuntime(771):at android.widget.ListView.measureHeightOfChildren(ListView.java:1198) 09-02 14:14:13.654:ERROR/AndroidRuntime(771) ):在android.widget.ListView.onMeasure(Lis tView.java:1109) 09-02 14:14:13.654:ERROR/AndroidRuntime(771):at android.view.View.measure(View.java:8171) 09-02 14:14:13.654:ERROR/AndroidRuntime(771):在android.widget.RelativeLayout.measureChild(RelativeLayout.java:563) 09-02 14:14:13.654:错误/ AndroidRuntime(771):在android.widget.RelativeLayout.onMeasure(RelativeLayout.java: 378) 09-02 14:14:13.654:ERROR/AndroidRuntime(771):at android.view.View.measure(View.java:8171) 09-02 14:14:13.654:ERROR/AndroidRuntime(771) :at android.view.ViewGroup.measureChildWithMargins(ViewGroup.java:3132) 09-02 14:14:13.654:ERROR/AndroidRuntime(771):at android.widget.LinearLayout.measureChildBeforeLayout(LinearLayout.java:1012) 09 -02 14:14:13.654:ERROR/AndroidRuntime(771):at android.widget.LinearLayout.measureVerti cal(LinearLayout.java:381) 09-02 14:14:13.654:ERROR/AndroidRuntime(771):at android.widget.LinearLayout.onMeasure(LinearLayout.java:304) 09-02 14:14:13.654: ERROR/AndroidRuntime(771):at android.view.View.measure(View.java:8171) 09-02 14:14:13.654:ERROR/AndroidRuntime(771):at android.view.ViewGroup.measureChildWithMargins(ViewGroup。 java:3132) 09-02 14:14:13.654:ERROR/AndroidRuntime(771):at android.widget.FrameLayout.onMeasure(FrameLayout.java:245) 09-02 14:14:13.654:ERROR/AndroidRuntime( 771):at android.view.View.measure(View.java:8171) 09-02 14:14:13.654:ERROR/AndroidRuntime(771):at android.widget.LinearLayout.measureVertical(LinearLayout.java:526) 09:02:14:13.654:错误/ AndroidRuntime(771):在android.widget.LinearLayout.onMeasure(LinearLayout.ja va:304) 09-02 14:14:13.654:ERROR/AndroidRuntime(771):at android.view.View.measure(View.java:8171) 09-02 14:14:13.654:ERROR/AndroidRuntime( 771):at android.view.ViewGroup.measureChildWithMargins(ViewGroup.java:3132) 09-02 14:14:13.654:ERROR/AndroidRuntime(771):at android.widget.FrameLayout.onMeasure(FrameLayout.java:245) 09-02 14:14:13.654:ERROR/AndroidRuntime(771):at android.view.View.measure(View.java:8171) 09-02 14:14:13.654:ERROR/AndroidRuntime(771):at android.view.ViewRoot.performTraversals(ViewRoot.java:801) 09-02 14:14:13.654:ERROR/AndroidRuntime(771):at android.view.ViewRoot.handleMessage(ViewRoot.java:1727) 09-02 14:14:13.654:错误/ AndroidRuntime(771):在android.os.Handler.dispatchMessage(Handler.java:99) 0 9-02 14:14:13.654:错误/ AndroidRuntime(771):在android.os.Looper.loop(Looper.java:123) 09-02 14:14:13。654:ERROR/AndroidRuntime(771):在android.app.ActivityThread.main(ActivityThread.java:4627) 09-02 14:14:13.654:ERROR/AndroidRuntime(771):在java.lang.reflect.Method中。 invokeNative(本机方法) 09-02 14:14:13.654:ERROR/AndroidRuntime(771):在java.lang.reflect.Method.invoke(Method.java:521) 09-02 14:14:13.654:ERROR/AndroidRuntime(771):在com.android.internal.os.ZygoteInit $ MethodAndArgsCaller.run(ZygoteInit.java:868) 09-02 14:14:13.654:ERROR/AndroidRuntime(771):在com.android.internal .os.ZygoteInit.main(ZygoteInit.java:626) 09-02 14:14:13.654:ERROR/AndroidRuntime(771):在dalvik.system.NativeStart.main(本机方法)

+0

你得到任何错误? –

+0

是的,我更新了有问题的错误日志。请看看它。 –

回答

1

你从未tables在你的适配器

我想你想要这样的:

public ImageAdapter(Context context, int textViewResourceId,ArrayList<Object> items) 
    { 
     super(context, textViewResourceId, items); 
     m_context=context; 
     this.tables = items; // set to items instead of tables (which doesnt exist in the argument list) 
    } 
相关问题