首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >在facebook上共享列表查看项(url图像和文本)

在facebook上共享列表查看项(url图像和文本)
EN

Stack Overflow用户
提问于 2016-04-20 17:39:54
回答 3查看 1.2K关注 0票数 0

我从服务器获取数据并将其设置为listview。每个Listview项目都有照片( url图像)和一个文本+共享按钮。我已经实现了所有的代码和工作的完美。但谁能帮我..。如何在单击特定列表查看项的按钮时实现facebook共享意图。我想以一种方式共享我所要求的图像和文本

预先谢谢你

EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2016-04-25 20:54:28

这是我的新coode

但是我有一个问题:但是当我点击第2项=====的“共享”按钮时,第3项的内容是共享的,并注意到数字2,反之亦然?

代码语言:javascript
运行
复制
holder.button.setOnClickListener(new View.OnClickListener() {
             @Override
             public void onClick(View v) {


                 Uri pictureUri = getLocalBitmapUri(holder.imageview);


                 if (pictureUri != null) {
                     // Construct a ShareIntent with link to image

                     String text = "image : "+mediaList.get(position).getTitre();
                     Intent shareIntent = new Intent();
                     shareIntent.setAction(Intent.ACTION_SEND);
                     shareIntent.putExtra(Intent.EXTRA_TEXT, text);
                     shareIntent.putExtra(Intent.EXTRA_STREAM, pictureUri);
                     shareIntent.setType("image/*");
                     // Launch sharing dialog for image
                     shareIntent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
                     context.startActivity(shareIntent);    
                 } else {
                     // ...sharing failed, handle error
                 }

///////////////////////////////////////////////////////////

代码语言:javascript
运行
复制
 private Uri getLocalBitmapUri(ImageView imageview) {

    // TODO Auto-generated method stub
     // Extract Bitmap from ImageView drawable
    Drawable drawable =holder.imageview.getDrawable();
    Bitmap bmp = null;
    if (drawable instanceof BitmapDrawable){
       bmp = ((BitmapDrawable) holder.imageview.getDrawable()).getBitmap();
    } else {
       return null;
    }
    // Store image to default external storage directory
    Uri bmpUri = null;
    try {
        File file =  new File(Environment.getExternalStoragePublicDirectory(  
            Environment.DIRECTORY_DOWNLOADS), "share_image_" + System.currentTimeMillis() + ".png");
        file.getParentFile().mkdirs();
        FileOutputStream out = new FileOutputStream(file);
        bmp.compress(Bitmap.CompressFormat.PNG, 90, out);
        out.close();
        bmpUri = Uri.fromFile(file);
    } catch (IOException e) {
        e.printStackTrace();
    }
    return bmpUri;
}     
票数 0
EN

Stack Overflow用户

发布于 2016-04-22 19:22:52

这是我的代码"MediaAdapter.java“:

代码语言:javascript
运行
复制
                                                                                                 public class MediaAdapter extends ArrayAdapter<Media> {

ArrayList<Media> mediaList;
Context context;
int Resource;

LayoutInflater vi;
ViewHolder holder;
ImageLoader imageLoader;



public  MediaAdapter(Context context, int resource, ArrayList<Media> objects) {
    super(context, resource, objects);

    imageLoader = new ImageLoader(context); 
    vi = (LayoutInflater) context.getSystemService(Context.LAYOUT_INFLATER_SERVICE);
    Resource = resource;
    mediaList = objects;


}





@Override
public View getView(final int position, View convertView,  ViewGroup parent) {
    // convert view = design
    View v = convertView;
    v = vi.inflate(Resource, null);

        holder = new ViewHolder();
        int loader = R.drawable.ic_launcher;    

       //l url d image 
        holder.imageview = (ImageView) v.findViewById(R.id.urlImage);

       // load image
       imageLoader.DisplayImage(mediaList.get(position).getUrl(), loader, holder.imageview );


        holder.titre = (TextView) v.findViewById(R.id.titre);
        holder.titre.setText(mediaList.get(position).getTitre());



        v.setTag(holder);



        holder.button = (Button) v.findViewById(R.id.btnOne);
        holder.button.setOnClickListener(new View.OnClickListener() {
             @Override
             public void onClick(View v) {


            //Toast.makeText(v.getContext(),     "test",Toast.LENGTH_SHORT).show();



             }         


        });


    return v;

}




static class ViewHolder {
    public ImageView imageview;
    public TextView titre;
    public Button button;


    }

}

票数 0
EN

Stack Overflow用户

发布于 2016-04-23 14:28:36

在代码中改变这个..。

首先从构造函数中删除这一行。

代码语言:javascript
运行
复制
  imageLoader = new ImageLoader(context); 

把它改成

代码语言:javascript
运行
复制
   ImageLoader imageLoader = ImageLoader.getInstance();

其次,从代码中删除这一行:

代码语言:javascript
运行
复制
imageLoader.DisplayImage(mediaList.get(position).getUrl(), loader, holder.imageview );

把它改成

代码语言:javascript
运行
复制
imageLoader.loadImage(mediaList.get(position).getUrl(), new SimpleImageLoadingListener() {
@Override
public void onLoadingComplete(String imageUri, View view, Bitmap loadedImage) {
    holder.button.setOnClickListener(new View.OnClickListener() {
         @Override
         public void onClick(View v) {
              Intent shareIntent = new Intent(Intent.ACTION_SEND);
              shareIntent.setType("text/plain");
              shareIntent.putExtra(Intent.EXTRA_TEXT,mediaList.get(position).getTitre());
              shareIntent.setType("image/*");
              shareIntent.putExtra(Intent.EXTRA_STREAM, getImageUri(context,loadedImage));
              try {
                  context.startActivity(shareIntent);
              } catch (Exception ex) {
                  Toast.makeText(context, ex.getMessage(),Toast.LENGTH_LONG).show();
              }
         }         
    });
   }
});

使用此方法将位图转换为uri:

代码语言:javascript
运行
复制
public Uri getImageUri(Context inContext, Bitmap inImage) {
  ByteArrayOutputStream bytes = new ByteArrayOutputStream();
  inImage.compress(Bitmap.CompressFormat.JPEG, 100, bytes);
  String path = Images.Media.insertImage(inContext.getContentResolver(),inImage, "Title", null);
  return Uri.parse(path);
}

这将为包括facebook在内的所有其他应用程序打开共享选项。如果facebook是由用户选择的,那么该图像将在facebook应用程序中打开(如果安装).Let me知道它是否适合您。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/36751283

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档