获取图像链接到Android上的GridView中的网页?

时间:2011-03-29 20:21:17

标签: android image gridview hyperlink

我有一个带有GridView布局的应用程序有一个图像用于测试目的,直到我找到下一步。我已经完成了所有设置,但我不知道如何实现一个设计,其中点击图像A,B,C,D等导致用户(我)登陆我指定的网页。我需要将每个图像链接到不同的位置,我真的很感谢帮助将其实现到我的代码中:

public class ImageAdapter extends BaseAdapter {
    private Context mContext;

    public ImageAdapter(Context c) {
        mContext = c;
    }

    public int getCount() {
        return mThumbIds.length;
    }

    public Object getItem(int position) {
        return null;
    }

    public long getItemId(int position) {
        return 0;
    }

    // create new ImageView for each item
    public View getView(int position, View convertView, ViewGroup parent) {
        ImageView imageView;

        if (convertView == null) {
            imageView = new ImageView(mContext);
            imageView.setLayoutParams(new GridView.LayoutParams(150, 150));
            imageView.setScaleType(ImageView.ScaleType.CENTER_CROP);
            imageView.setPadding(5, 5, 5, 5);
        } 

        else {
            imageView = (ImageView) convertView;
        }

        imageView.setImageResource(mThumbIds[position]);
        return imageView;
    }

    // references to images
    private Integer[] mThumbIds = {
        R.drawable.A, R.drawable.B,
        R.drawable.C, R.drawable.D,
        R.drawable.E, R.drawable.F,
        R.drawable.G, R.drawable.H,
    };
}

2 个答案:

答案 0 :(得分:0)

在适配器中使用getItemId()(只返回位置)以选择要转到的URL。就像你有mThumbIds一样,只需要一个包含匹配URL的并行数组,这样当单击一个图像时,可以在同一索引处轻松访问其相应的URL。

答案 1 :(得分:0)

执行此操作的“零工作”方法是简单地启动一个Intent,它将从OnItemClickListener打开设备浏览器中的URL。类似的东西:

//Obtain a reference to the view in your layout somehow...I chose findViewById()
GridView grid = (GridView)findViewById(R.id.peters_grid);
grid.setOnItemClickListener(new AdapterView.OnItemClickListener() {
    @Override
    public void onItemClick(AdapterView<?> parent, View v, int position, long id) {
        //"position" is the location of the image clicked
        String url = arrayOfUrls[position];
        Intent intent = new Intent(Intent.ACTION_VIEW);
        intent.setData(Uri.parse(url));
        startActivity(intent);
    }
});

从一个字符串数组中获取每个位置的正确URL。这只是获取正确URL的一个想法......您可以通过百万种不同的方式构建正确的URL,但关键是将其传递给Intent然后解雇它。

这方面的“小工作”版本是在此WebView中创建Activity,以便您可以加载网页并保留在应用程序代码中。如果WebView位于第二个Activity中,则最好使用Intent将URL字符串从第一个Activity传递到第二个。{/ p>

希望有帮助!