在列表视图中点击图像应在另一个活动中打开,并显示路径。

3

当我点击图片时,我需要从另一个活动中展示图片的url。 可点击的图片应在另一个活动中打开。 请帮我想想如何做到这一点。 我将贴上我已经完成的几行代码。

            ItemHolder holder = itemHolder;
                holder.imageView.setOnClickListener(new View.OnClickListener() {
                    @Override
                    public void onClick(View v) {
                        String urlstring="This is my service to get the images from server";
                        String imagestring= messageBean.getImagePath().toString();
                        imagestring = imagestring.replace("./","/");
                        urlstring = urlstring+imagestring;
                        // messageBean.getTotalVotes()
                        ((Message) activity).SendImageUrl(urlstring);}
                });

我希望你能帮我将这个路径的图片在点击时打开到另一个活动中。


调用startService来启动另一个活动并将要显示的内容传递给它。 - Doug Stevenson
你能给我提供代码吗? - Shiv Rathore
3个回答

0
在您的适配器中为每个ImageView设置标签。
例如:
    ItemHolder holder = itemHolder;
    holder.imageView.setTage("your url");

    holder.imageView.setOnClickListener(new View.OnClickListener() {
                        @Override
                        public void onClick(View v) {
                            String imagestring= holder.imageView.getTag().toString();
                            imagestring = imagestring.replace("./","/");
                            urlstring = urlstring+imagestring;
                            // messageBean.getTotalVotes()
Intent mIntent = new Intent(yourActivityName.this, classToBelaunched.class);
mIntent.putStringExtra("url",urlString);
startActivity(mIntent);

                    });

0
holder.setOnClickListener(...){
   ... onClick(){
Intent intent = new Intent(YourActivity.this, SecondActivity.class);
intent.putExtra("url", "place your url here");
stratActivity(intent);
   }
}

在第二个活动中编写以下内容:
Intent intent = getIntent();
String url = intent.getStringExtra("url");

0

我不确定 messageBean 是什么,但你可以通过 intent 的 bundle 将该 bean 传递到新的活动中。方法如下:

ItemHolder holder = itemHolder;
holder.imageView.setOnClickListener(new View.OnClickListener() {
    @Override
    public void onClick(View v) {
        Intent myIntent = new Intent(CurrentActivity.this, NextActivity.class);
        myIntent.putExtra("messageBean", messageBean);
        myIntent.startActivity();
    });

然后在您打开的活动中:

public void onCreate(Bundle bundle) {
    String urlstring="This is my service to get the images from server";
    MessageBean messageBean = (MessageBean)bundle.get("messageBean");
    String imagestring= messageBean.getImagePath().toString();
    imagestring = imagestring.replace("./","/");
    urlstring = urlstring+imagestring;
    // messageBean.getTotalVotes()
    SendImageUrl(urlString);
}

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接