2015-02-24 51 views
2

有人,帮我解决这个问题。我在3天内陷入困境,因为这个问题-_-!CustomListview与图像齐射不起作用的真实设备

我可以用图像和文本使用排球库,其作品在模拟器(我使用genymotion模拟器)的图像和文字显示。但是当我在我的设备(Android Jelly 4.3.0)中运行它时,listview是空的。图层为空白(空白)。我不知道为什么。

我的继承人一块代码

public class DaftarBarang_Layout extends Activity{ 

private List<Produk> produkList = new ArrayList<Produk>(); 
private ListView listView; 
private CustomListAdapter adapter; 
private ProgressDialog pDialog; 
private ServerRequest serverRequest; 
JSONArray member = null; 
private static final String url = "http://192.168.117.1:808/Koen_CI/index.php/daftar_barang_control"; 

@Override 
protected void onCreate(Bundle savedInstanceState) { 
    // TODO Auto-generated method stub 
    super.onCreate(savedInstanceState); 
    setContentView(R.layout.daftarbarang_layout); 

    listView = (ListView) findViewById(R.id.list); 
    adapter = new CustomListAdapter(this, produkList); 
    listView.setAdapter(adapter); 

    btnBack = (Button)findViewById(R.id.btnBackDaftarBarang);   
    setBehavior(); 

// Creating volley request obj 
     JsonArrayRequest produkReq = new JsonArrayRequest(url, 
       new Response.Listener<JSONArray>() { 
        @Override 
        public void onResponse(JSONArray response) { 
         Log.d("TAG", response.toString()); 
         hidePDialog(); 
         // Parsing json 
         for (int i = 0; i < response.length(); i++) { 
          try { 

           JSONObject obj = response.getJSONObject(i); 
           Produk produk = new Produk(); 
           produk.setNamaProduk(obj.getString("nama_produk")); 
           produk.setHargaProduk(obj.getString("harga_produk")); 
           produk.setFotoProduk(obj.getString("foto_produk")); 
           Log.d("TAG", "TAG : " + produk.getNamaProduk());  

           // adding movie to movies array 
           produkList.add(produk); 

          } catch (JSONException e) { 
           e.printStackTrace(); 
          } 

         } 

         // notifying list adapter about data changes 
         // so that it renders the list view with updated data 
         adapter.notifyDataSetChanged(); 
        } 
       }, new Response.ErrorListener() { 
        @Override 
        public void onErrorResponse(VolleyError error) { 
         VolleyLog.d("TAG", "Error: " + error.getMessage()); 
         hidePDialog(); 

        } 
       }); 

     // Adding request to request queue 
     AppController.getInstance().addToRequestQueue(produkReq); 
} 

我敢肯定的URL是好的,形象回报http://192.168.117.1:808/Koen_CI/gambarbaju/batik.jpg

的问题是,为什么在实际的设备列表视图中无法显示,但在仿真列表视图是显示..

对不起我的英文不好,但还是谢谢你.. :)

我的继承人CustomListAdapter:

public class CustomListAdapter extends BaseAdapter { 
private Activity activity; 
private LayoutInflater inflater; 
private List<Produk> produkItems; 
ImageLoader imageLoader = AppController.getInstance().getImageLoader(); 

public CustomListAdapter(Activity activity, List<Produk> produkItems) { 
    this.activity = activity; 
    this.produkItems = produkItems; 
} 

@Override 
public int getCount() { 
    return produkItems.size(); 
} 

@Override 
public Object getItem(int location) { 
    return produkItems.get(location); 
} 

@Override 
public long getItemId(int position) { 
    return position; 
} 

@Override 
public View getView(int position, View convertView, ViewGroup parent) { 

    if (inflater == null) 
     inflater = (LayoutInflater) activity 
       .getSystemService(Context.LAYOUT_INFLATER_SERVICE); 
    if (convertView == null) 
     convertView = inflater.inflate(R.layout.list_row, null); 

    if (imageLoader == null) 
     imageLoader = AppController.getInstance().getImageLoader(); 
    NetworkImageView thumbNail = (NetworkImageView) convertView 
      .findViewById(R.id.thumbnail); 
    TextView title = (TextView) convertView.findViewById(R.id.title); 
    TextView rating = (TextView) convertView.findViewById(R.id.rating); 

    // getting movie data for the row 
    Produk p = produkItems.get(position); 

    // thumbnail image 
    thumbNail.setImageUrl(p.getFotoProduk(), imageLoader); 

    // title 
    title.setText(p.getNamaProduk()); 

    // rating 
    rating.setText("Harga: " + p.getHargaProduk()); 

    return convertView; 
} 
+0

您是否添加了互联网访问权限? – 2015-02-24 11:26:57

+0

是的,我已经在我的Android清单中添加了互联网访问 – 2015-02-24 11:29:54

+0

您可以发布您的适配器代码吗?或任何你有你的图像加载器调用 – 2015-02-24 11:46:58

回答

1

将此代码添加到您的onCreate或init方法中。

StrictMode.ThreadPolicy policy = new StrictMode.ThreadPolicy.Builder().permitAll().build(); 
    StrictMode.setThreadPolicy(policy); 

如果这不起作用,请发布logcat显示警告或错误。

+0

我会尝试,但我看不到logcat。因为我的设备没有连接到笔记本电脑。我只是把它安装在设备上并通过connectify-me连接 – 2015-02-24 11:35:50

+0

然后请尝试在调试模式下连接您的设备,这将肯定解决您的问题,无需logCat,任何人都无法理解您的问题,只有想法在这里... – IshRoid 2015-02-24 11:38:20

+0

地狱是啊,你救我的一天先生!它的工作像魅力.. 你怎么知道我是否必须添加该代码? StrictMode.ThreadPolicy policy = new StrictMode.ThreadPolicy.Builder()。permitAll()。build(); StrictMode.setThreadPolicy(policy); – 2015-02-24 11:54:32