2014-03-25 71 views
0

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

enter image description here

这里是我的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; 
} 

回答

0

首先,你只能分享在Facebook涂鸦墙的链接。您无法发送任何预先填写的信息 - 这违反了Facebook政策。

所有第二,你应该坚持的指导方针,而不是强迫用户使用特定的共享信道(参考)

你可以筛选响应共享Intent(如link)的应用程序,但请有请注意,并非所有用户都可以安装Facebook。

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

+0

你是正确的兄弟...只感谢链接,图像共享通过意图选择器在Android – Amardeepvijay

0
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:")); 
         } 
        } 
       } 
      });