2012-03-29 13 views
0

グリッドビューアプリケーションを1つ作成しましたが、グリッドビューですべての画像を表示するようになっています。今私はフルスクリーンで選択した画像を表示しようとしていますが、私はエラーが発生しています。私のグリッドビューの画像はURLリンクにダウンロードされます。私のURLリンクは配列リストに保存されています。どのようにこのエラーを解決するには? エラークラス名はFullImageActivity.classURL画像をフルスクリーンで表示するには?

ある

エラー:imageAdapter1.GridViewConfig cannot be resolved or is not a field

エラー行:これは私のコーディングで

imageView.setImageResource(imageAdapter1.GridViewConfig.getResim_list().get(position)); 

public class FullImageActivity extends Activity { 

    @Override 
    public void onCreate(Bundle savedInstanceState) { 
     super.onCreate(savedInstanceState); 
     setContentView(R.layout.full_image); 

     // get intent data 
     Intent i = getIntent(); 

     // Selected image id 
     int position = i.getExtras().getInt("id"); 
     ImageAdapter imageAdapter1 = new ImageAdapter(this); 

     ImageView imageView = (ImageView) findViewById(R.id.full_image_view); 
     imageView.setImageResource(imageAdapter1.GridViewConfig.getResim_list().get(position)); 
    } 

} 

ImageAdapter.class

public class ImageAdapter extends BaseAdapter implements ListAdapter { 


    private Context context; 
    public ImageAdapter(Context context) { 
     super(); 
     this.context = context; 
     //Listeye image url si ekliyor 
     GridViewConfig.addImageUrls(); 
    } 


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

    @Override 
    public Object getItem(int position) { 

     return GridViewConfig.getResim_list().get(position); 
    } 

    @Override 
    public long getItemId(int position) { 

     return position; 
    } 

    @Override 
    public View getView(int position, View convertView, ViewGroup parent) { 
     ImageView imageView; 
     if(convertView==null) 
     { 
      imageView=new ImageView(context.getApplicationContext()); 
      //imageView.setImageURI(Uri.withAppendedPath(MediaStore.Images.Thumbnails.EXTERNAL_CONTENT_URI, ""+ id)); 
      imageView.setLayoutParams(new GridView.LayoutParams(100,100)); 
      imageView.setScaleType(ImageView.ScaleType.CENTER_CROP); 
      imageView.setPadding(5,5,5,5); 
     }else{ 
      imageView=(ImageView)convertView; 
     } 
     imageView.setImageDrawable(LoadImageFromURL(GridViewConfig.getResim_list().get(position))); 
     return imageView; 
    } 

//Internetten imageleri stream olarak cekip drawable olsurturuyor. 
    private Drawable LoadImageFromURL(String url) 
    { 
    try 
    { 
    InputStream is = (InputStream) new URL(url).getContent(); 
    Drawable d = Drawable.createFromStream(is, "src"); 
    return d; 
    }catch (Exception e) { 
    System.out.println(e); 
    return null; 
    } 
    } 

} 

GridViewconfig.class

public class GridViewConfig { 
    private static ArrayList<String> resim_list=new ArrayList<String>(); 
    public static int[] getResim_list; 

    public static ArrayList<String> getResim_list() { 
     return resim_list; 
    } 

    public static void setResim_list(ArrayList<String> resim_list) { 
     GridViewConfig.resim_list = resim_list; 
    } 

    public static void addImageUrls(){ 
     resim_list.add("http://igen.com/Images/Home/Client-Logo.png"); 


    } 
} 

MyGridView.class

public class MyGridView extends Activity { 
    private GridView girGridView; 
    @Override 
    public void onCreate(Bundle savedInstanceState) { 
     super.onCreate(savedInstanceState); 
     setContentView(R.layout.main); 

     girGridView=(GridView) findViewById(R.id.gridView1_bir); 
//ListView gibi buna da adapter set ediliyor. 
     girGridView.setAdapter(new ImageAdapter(getApplicationContext())); 

     girGridView.setOnItemClickListener(new AdapterView.OnItemClickListener() { 

      @Override 
      public void onItemClick(AdapterView<?> arg0, View view, int position,long arg3) { 

        // Sending image id to FullScreenActivity 
       Intent i = new Intent(getApplicationContext(), FullImageActivity.class); 
       // passing array index 
       i.putExtra("id", position); 
       startActivity(i); 
    } 
     }); 
    } 
} 

私はすべての

答えて

0

まず.....私の完全なソースコードを掲載:GridViewConfigは確かにあなたのImageAdapterのフィールドではありません。

第二: imageView.setImageResource(imageAdapter1.GridViewConfig.getResim_list().get(position));

それは動作しません。

public class FullImageActivity extends Activity { 

    @Override 
    public void onCreate(Bundle savedInstanceState) { 
     super.onCreate(savedInstanceState); 
     setContentView(R.layout.full_image); 

     // get intent data 
     Intent i = getIntent(); 

     // Selected image id 
     int position = i.getExtras().getInt("id"); 
     ImageView imageView = (ImageView) findViewById(R.id.full_image_view); 
     GridViewConfig.addImageUrls(); 
     imageView.setImageDravable(LoadImageFromURL(GridViewConfig.getResim_list().get(position))); 
    } 

    private Drawable LoadImageFromURL(String url) { 
     .... 
    } 

} 

しかし、私の意見では、あなた:getResim_listは()のArrayListを返し、それはあなたが変更を試すことができます文字列値が

をint型ませ含まれていますすべてのコードを書き直す必要があります。主な問題:図面は別のスレッドにロードする必要があります。

+0

ok appserv plsは、フルスクリーンで画像を表示する方法を教えてくれます... – balaji

+0

いくつかの編集を追加してください。 –