2013-06-21 66 views
0

所以我一直堅持這個好幾個小時。我試圖設置一個異步的任務,將在另一個類中爲我的列表視圖加載圖像,並且傳遞給我一個錯誤的信息試圖從ListView傳遞數據到另一個類

任何幫助將不勝感激!

公共類TheResults延伸活動{

public static final String DEFAULTNAME = "DefaultFile"; 
private GETTHEIMAGE imgFetch; 
private ArrayList<Item_Info> Info = new ArrayList<Item_Info>(); 

String Data = null; 
String THESTRING = null; 
TextView httpStuff; 

@Override 
protected void onCreate(Bundle savedInstanceState) { 
    super.onCreate(savedInstanceState); 
    // full screen 
    requestWindowFeature(Window.FEATURE_NO_TITLE); 
    getWindow().setFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN, 
      WindowManager.LayoutParams.FLAG_FULLSCREEN); 
    setContentView(R.layout.theresults); 

    SharedPreferences Search = getSharedPreferences(DEFAULTNAME, 0); 
    Data = Search.getString("THERESULTS", null); 
    GetINFO(); 
    populatelist(); 
} 

private void GetINFO() { 
    } 
    } 
} 

private void populatelist() { 
    ArrayAdapter<Item_Info> adapter = new TheListAdapter(); 
    ListView list = (ListView) findViewById(R.id.listings); 
    list.findFocus(); 
    list.getWindowToken(); 
    list.setAdapter(adapter); 
} 

public class TheListAdapter extends ArrayAdapter<Item_Info> { 
    public TheListAdapter() { 
     super(TheResults.this, R.layout.items, Info); 
    } 

    @Override 
    public View getView(int position, View convertView, ViewGroup parent) { 
     View item_View = convertView; 
     ImageHolder holder = null; 

     if (item_View == null) { 
      item_View = getLayoutInflater().inflate(R.layout.items, parent, false); 
      Item_Info CurrentItem = Info.get(position); 
      holder = new ImageHolder(); 
      holder.ICON_IMG = (ImageView)item_View.findViewById(R.id.icon_image); 
      holder.ICON_IMG.setTag(CurrentItem.getItemPIC()); 
      Drawable MYIMG = imgFetch.GetTheImagedata(this, holder.ICON_IMG); 

      holder.ICON_TITLE = (TextView)item_View.findViewById(R.id.icon_title); 
      holder.ICON_TITLE.setText(CurrentItem.getItemTITLE()); 

      holder.ICON_LOCATION = (TextView)item_View.findViewById(R.id.icon_location); 
      holder.ICON_LOCATION.setText(CurrentItem.getItemLOCATION()); 

      holder.ICON_PRICE = (TextView)item_View.findViewById(R.id.icon_price); 
      if (CurrentItem.getItemPRICE() == null) { 
       holder.ICON_PRICE.setText(CurrentItem.getItemPRICE()); 
       holder.ICON_PRICE.setBackgroundResource(R.drawable.tempbg); 
      } else { 
       holder.ICON_PRICE.setBackgroundResource(R.drawable.pricebg); 
       holder.ICON_PRICE.setText(CurrentItem.getItemPRICE()); 
      } 

      holder.ICON_DATE = (TextView)item_View.findViewById(R.id.icon_date); 
      holder.ICON_DATE.setText(CurrentItem.getItemLOCATION()); 
     }else{ 
      holder = (ImageHolder)item_View.getTag(); 
     } 
     return item_View; 
    } 
} 
static class ImageHolder{ 
    ImageView ICON_IMG; 
    TextView ICON_TITLE; 
    TextView ICON_LOCATION; 
    TextView ICON_PRICE; 
    TextView ICON_DATE; 
} 

}

+3

您沒有要發佈的錯誤? 「 – HaMMeReD

+3

」給了我一個錯誤「....真的嗎?你不會得到這麼多的信息質量幫助很多.. –

+0

對不起,這是什麼logcat顯示 – Xjasz

回答

0

通過行

06-21 19:15:06.887: E/AndroidRuntime(11408): FATAL EXCEPTION: main 

後看logcat的是異常

java.lang.NullPointerException 

告訴我們有些東西是null,那就是拋出異常。如果我們查找引用項目的代碼的第一行,我們將看到問題發生的位置。在這裏,它正好是在logcat的

at com.clistc.TheResults$TheListAdapter.getView(TheResults.java:178) 

下一行告訴我們,該行的TheResults.java 178,它是getView()方法內。我們已經建立,這是該行

Drawable MYIMG = imgFetch.GetTheImagedata(this, holder.ICON_IMG); 

這意味着imgFetch可能是null並嘗試調用它的一個函數,因爲變量是null返回null。我不知道那是什麼變量,但它沒有被這一行

編輯

imgFetch不被任何初始化之前初始化。這是在這裏申報

private GETTHEIMAGE imgFetch; 

但你永遠不會初始化給它一個值。你需要做的是這樣

private GETTHEIMAGE imgFetch = new GETTHEIMAGE(); 

假定它有一個空的構造

+0

好吧,我一直在努力理解logcat一段時間,並且你真的幫助我了,謝謝! – Xjasz

+0

不客氣。直到你看到如何閱讀它是很難理解的。然後調試很容易 – codeMagic

+0

你搖滾代碼Magic感謝一噸。 – Xjasz

相關問題