2013-07-09 2 views
0

У меня есть изображение gridView, и я использую изображения с URL-адреса.Изображения в gridview, показывая в эмуляторе, но не в устройстве

Он работает правильно в эмуляторе, но изображения не отображаются в устройстве. В логарифме нет ошибки. Ниже приведен код, который я пробовал.

public class Home extends Fragment implements TabHost.OnTabChangeListener, 
     OnClickListener { 

    TabHost tabHost; 
    View vi; 
    StaggeredAdapter adapter; 
    TextView tv; 
    public String urls[] = { 

    "http://farm9.staticflickr.com/8462/8005636463_0cb4ea6be2.jpg", 
      "http://farm8.staticflickr.com/7232/6913504132_a0fce67a0e_c.jpg", 
      "http://farm5.staticflickr.com/4133/5096108108_df62764fcc_b.jpg", 
      "http://farm5.staticflickr.com/4074/4789681330_2e30dfcacb_b.jpg", 
      "http://farm9.staticflickr.com/8208/8219397252_a04e2184b2.jpg", 
      "http://farm9.staticflickr.com/8483/8218023445_02037c8fda.jpg", 
      "http://farm9.staticflickr.com/8335/8144074340_38a4c622ab.jpg", 
      "http://farm9.staticflickr.com/8060/8173387478_a117990661.jpg", 
      "http://farm9.staticflickr.com/8056/8144042175_28c3564cd3.jpg", 
      "http://farm9.staticflickr.com/8183/8088373701_c9281fc202.jpg", 
      "http://farm9.staticflickr.com/8185/8081514424_270630b7a5.jpg", 
      "http://farm9.staticflickr.com/8462/8005636463_0cb4ea6be2.jpg", 
      "http://farm9.staticflickr.com/8306/7987149886_6535bf7055.jpg", 
      "http://farm9.staticflickr.com/8444/7947923460_18ffdce3a5.jpg", 
      "http://farm9.staticflickr.com/8182/7941954368_3c88ba4a28.jpg", 
      "http://farm9.staticflickr.com/8304/7832284992_244762c43d.jpg", 
      "http://farm9.staticflickr.com/8163/7709112696_3c7149a90a.jpg", 
      "http://farm8.staticflickr.com/7127/7675112872_e92b1dbe35.jpg", 
      "http://farm8.staticflickr.com/7111/7429651528_a23ebb0b8c.jpg", 
      "http://farm9.staticflickr.com/8288/7525381378_aa2917fa0e.jpg", 
      "http://farm6.staticflickr.com/5336/7384863678_5ef87814fe.jpg", 
      "http://farm8.staticflickr.com/7102/7179457127_36e1cbaab7.jpg", 
      "http://farm8.staticflickr.com/7086/7238812536_1334d78c05.jpg", 
      "http://farm8.staticflickr.com/7243/7193236466_33a37765a4.jpg", 
      "http://farm8.staticflickr.com/7251/7059629417_e0e96a4c46.jpg", 
      "http://farm8.staticflickr.com/7084/6885444694_6272874cfc.jpg" }; 

    public static final String ARG_SECTION_NUMBER = "section_number"; 
    public StaggeredGridView PremiumgridView; 
    public StaggeredGridView FeaturedgridView; 

    @Override 
    public View onCreateView(LayoutInflater inflater, ViewGroup container, 
      Bundle savedInstanceState) { 

     vi = inflater.inflate(R.layout.home, container, false); 
     Button iv = (Button) vi.findViewById(R.id.btnMoreDialog); 
     iv.setOnClickListener(new OnClickListener() { 
      @Override 
      public void onClick(View v) { 
       PopupMenu homepopup = new PopupMenu(getActivity(), v); 

       MenuInflater inflater = homepopup.getMenuInflater(); 

       inflater.inflate(R.menu.moredialog, homepopup.getMenu()); 

       homepopup.show(); 

      } 
     }); 

     PremiumgridView = (StaggeredGridView) vi.findViewById(R.id.premiumstaggeredGridView); 

     new Dialogs().execute(urls); 

     return vi; 
    } 

    private class Dialogs extends AsyncTask<String[], Void, String[]> { 
     @Override 
     protected String[] doInBackground(String[]... params) { 
      return params[0]; 
     } 

     protected void onPostExecute(String[] result) { 
      Log.d("url", result[0]); 
      String new_string = result[0].replaceAll("http://", "www."); 
      Log.d("urls", new_string); 

      // Premium Dialog 

      int premiummargin = getResources().getDimensionPixelSize(R.dimen.margin); 
      PremiumgridView.setItemMargin(premiummargin); 
      PremiumgridView.setPadding(premiummargin, 0, premiummargin, 0); 

      StaggeredAdapter premiumadapter = new StaggeredAdapter(vi.getContext(), 
        R.id.photoimageview, result, R.layout.row_staggered_demo); 

      PremiumgridView.setAdapter(premiumadapter); 
      premiumadapter.notifyDataSetChanged(); 
     } 

     @Override 
     protected void onPreExecute() { 
      // nothing to do 
     } 
    } 
} 

Мой адаптер класса

StaggeredAdapter.java

public class StaggeredAdapter extends ArrayAdapter<String> implements 
     OnClickListener { 

    private ImageLoader mLoader; 
    private int _row; 
    private Context _context; 

    public StaggeredAdapter(Context context, int textViewResourceId, 
      String[] objects, int row) { 
     super(context, textViewResourceId, objects); 
     _context = context; 
     mLoader = new ImageLoader(context); 
     _row = row; 
    } 

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

     if (convertView == null) { 
      LayoutInflater layoutInflator = LayoutInflater.from(getContext()); 
      convertView = layoutInflator.inflate(R.layout.row_staggered_demo, null); 
      holder = new ViewHolder(); 
      holder.imageView = (ScaleImageView) convertView 
        .findViewById(R.id.photoimageview); 

      convertView.setTag(holder); 
     } 

     holder = (ViewHolder) convertView.getTag(); 

     mLoader.DisplayImage(getItem(position), holder.imageView); 

     return convertView; 
    } 

    static class ViewHolder { 
     ScaleImageView imageView; 
     LinearLayout view; 
    } 

    public void onClick(View v) { 
     Toast.makeText(_context, "buffering......... please wait...", 
       Toast.LENGTH_LONG).show(); 
    } 
} 

Любые идеи или предложения, PLS?

Спасибо,

+0

Подключено ли ваше устройство к Интернету? попробуйте отключить и снова подключите устройство к Интернету? – Sieryuu

+0

Что такое ImageLoader? Вы пытались поставить журналы там? – sandrstar

ответ

0

Проверьте свободное место на устройстве должно быть меньше. Так что он не может получить изображения с SD-карты. И ваше устройство должно быть связано с рабочим Интернетом.

иначе вы должны дали это в menifest

<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" /> 

никакого другого вопроса.

+0

Я пробовал два устройства, но изображение не отображается ни на одном из них. Почему так? – asifa

+0

Спасибо тонну. Я заработал. – asifa

+0

отлично, в чем была проблема? Все устройство не имело памяти в SD-карте –

Смежные вопросы