【问题标题】:Share Listview Item on Facebook wallpost using share intent chooser使用共享意图选择器在 Facebook wallpost 上共享 Listview 项目
【发布时间】:2014-03-25 12:08:20
【问题描述】:

我正在从服务器获取数据并将其设置到列表视图中。每个 Listview 项目有两个 textview 和一个按钮。我已经实现了所有代码并且工作完美..但是任何人都可以帮助我..当单击特定列表视图项的按钮时如何实现 facebook 共享意图。我想使用共享意图选择器将 offer_name 共享到 facebook 墙贴。

这是我的 getView 代码:-

public View getView(int position, View convertView, ViewGroup parent) {
    final ViewHolder holder;
    if (convertView == null) {
        holder = new ViewHolder();
        convertView = mInflater.inflate(R.layout.offer_list_item, parent,
                false);
        holder.tv1 = (TextView) convertView.findViewById(R.id.offer_name);
        holder.tv2 = (TextView) convertView.findViewById(R.id.expiry_date);
        holder.b = (Button) convertView.findViewById(R.id.item_button);
        convertView.setTag(holder);
    } else {
        holder = (ViewHolder) convertView.getTag();
    }
    Item1 it = item.get(position);
    holder.tv1.setText(it.getoffer_name());
    holder.tv2.setText("offer ends:" + it.getexpiry_date());
    holder.b.setOnClickListener(new View.OnClickListener() {

        @Override
        public void onClick(View v) {
            // TODO Auto-generated method stub
            // holder.b.setText("Joined");
            // holder.b.setTextColor(Color.parseColor("#ffffff"));
            // holder.b.setTextSize(10);
        }
    });
    return convertView;
}

【问题讨论】:

    标签: android android-intent android-facebook


    【解决方案1】:

    首先,您只能在 Facebook 墙上分享链接。您不能发送任何预先填写的消息 - 这违反了 Facebook 政策。

    其次,您应该遵守指南,不要强迫用户使用特定的分享渠道(参考)

    您可以过滤响应分享 Intent(例如 link)的应用程序,但请记住,并非所有用户都可以安装 Facebook。

    总而言之,我认为这不是一个好主意。

    【讨论】:

    • 你是对的兄弟...感谢链接,通过 android 中的意图选择器共享图像
    【解决方案2】:
        lv.setOnItemClickListener(
                new AdapterView.OnItemClickListener() {
                    @Override
                    public void onItemClick(AdapterView<?> parent, View view, int position, long id) {
                        for (int i = 0; i <= 100; i++) {
                            if (position == i) {
    
                                lv.setDrawingCacheEnabled(true);
                                Bitmap bitmap = lv.getDrawingCache();
    
    
                                File cache = getApplicationContext().getExternalCacheDir();
                                File sharefile = new File(cache, "toshare.png");
                                try {
                                    FileOutputStream out = new FileOutputStream(sharefile);
                                    bitmap.compress(Bitmap.CompressFormat.PNG, 100, out);
                                    out.flush();
                                    out.close();
                                } catch (IOException e) {
    
                                }
    
                                Intent share = new Intent(android.content.Intent.ACTION_SEND);
                                share.setType("image/*");
                                share.putExtra(Intent.EXTRA_STREAM, Uri.parse("file://" + sharefile));
                                startActivity(share);
                                startActivity(Intent.createChooser(share, "Send your picture using:"));
                            }
                        }
                    }
                });
    

    【讨论】:

      猜你喜欢
      • 2012-06-07
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-02-04
      • 2018-08-19
      • 1970-01-01
      相关资源
      最近更新 更多