как отображать миниатюры видео? - PullRequest
4 голосов
/ 13 февраля 2012

Я пытаюсь показать значение моего массива в моей вкладке.Теперь я успешно передал два значения в моем два tabhost, он работает.у меня три tabhost 2tab хост работает нормально.поэтому я пытаюсь показать мой сохраненный путь видео значения большого пальца.Как показать мое сохраненное значение пути к видео ногтем большого пальца?я пытаюсь показать, но получаю ошибку

ошибка:

The type of the expression must be an array type but it resolved to ArrayList<String>

строка:

imgVw.setImageBitmap(getImage(tabview.videoList[position]));

полный исходный код:

public class video extends Activity {
//set constants for MediaStore to query, and show videos

//flag for which one is used for images selection
private Gallery _gallery; 


/** Called when the activity is first created. */
@Override
public void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);

    setContentView(R.layout.mavideo);
    //set GridView for gallery
    _gallery = (Gallery) findViewById(R.id.videoGrdVw);

    //set gallery adapter
    setGalleryAdapter();
}
private void setGalleryAdapter() {
    _gallery.setAdapter(new VideoGalleryAdapter(this));
}

//
private class VideoGalleryAdapter extends BaseAdapter
{private Context mContext;
    public VideoGalleryAdapter(Context c) 
    {
        mContext = c;
    }
    public int getCount() 
    {
        return tabview.videoList.size();
    }
    public Object getItem(int position) 
    {
        return position;
    }
    public long getItemId(int position) 
    {
        return position;
    }
    public View getView(int position, View convertView, ViewGroup parent) 
    {
        ImageView imgVw= new ImageView(mContext);;
        try
        {
            if(convertView!=null)
            {
                imgVw= (ImageView) convertView;
            }
            imgVw.setImageBitmap(getImage(tabview.videoList[position]));
            imgVw.setLayoutParams(new Gallery.LayoutParams(96, 96));
            imgVw.setPadding(8, 8, 8, 8);
        }
        catch(Exception ex)
        {
            System.out.println("StartActivity:getView()-135: ex " + ex.getClass() +", "+ ex.getMessage());
        }
        return imgVw;
    }

    // Create the thumbnail on the fly
    private Bitmap getImage(int id) {
        Bitmap thumb = MediaStore.Video.Thumbnails.getThumbnail(
                getContentResolver(),
                id, MediaStore.Video.Thumbnails.MICRO_KIND, null);
        return thumb;
    }

}
 }

примечание: parxmlactivity.java это мой основной класс, здесь я передаю свое значение, используя следующий код:

sdcardImages.setOnItemClickListener(new OnItemClickListener() {


            public void onItemClick(AdapterView parent, View v, int position, long id) {
                Intent intent = new Intent(ParxmlActivity.this, tabview.class);
                intent.putExtra("spec",model_List.get(position).spec);

                intent.putStringArrayListExtra("imageList", model_List.get(position).imageList);
                intent.putStringArrayListExtra("videoList", model_List.get(position).videoList);

                startActivity(intent);  

            }
        });

, и я получаю это переданное значение в следующем коде в файле класса tabview.java:

 tab_intent=tabview.this.getIntent().getExtras();

        spec=tab_intent.getString("spec");

        imageList =  tab_intent.getStringArrayList("imageList");

        videoList =  tab_intent.getStringArrayList("videoList");
...