2014-09-13 51 views
-1

我正在跟随与自定义列表视图中的按钮共享文本,但它不起作用。 这是OnClickListViewAdapter.java代码:自定义列表视图中的共享按钮不起作用

OnClickListener clickListener = new OnClickListener() { 

      @Override 
      public void onClick(View v) { 
       try{ 
        Context context = v.getContext(); 
        String ab = (String) holder.tvComment.getText(); 
        holder.tvComment.setText(ab); 

        Toast.makeText(context, ab, Toast.LENGTH_LONG).show(); 
        Intent sendIntent = new Intent(); 
        sendIntent.setAction(Intent.ACTION_SEND); 

        sendIntent.putExtra(Intent.EXTRA_TEXT, ab); 
        sendIntent.setType("text/plain"); 


        context.startActivity(sendIntent); 

       } 
       catch (Exception e){ 
       Log.w("Share Data", "Error!"); 
       } 

      } 
     }; 


     holder.sharebtn.setOnClickListener(clickListener); 
+0

你有什么异常吗?你确定onClick方法被调用吗? – hoomi 2014-09-13 10:04:26

回答

0

试试这个方法,希望这会帮助你解决你的问题。

Intent i = new Intent(Intent.ACTION_SEND); 
i.setType("text/plain"); 
i.putExtra(Intent.EXTRA_TEXT,message); 
try { 
    context.startActivity(Intent.createChooser(i, "Share")); 
} catch (android.content.ActivityNotFoundException ex) { 
    ex.printStackTrace(); 
} 
+0

它不支持startactivity!? – 2014-09-13 11:00:37

+0

现在检查我更新的答案,你必须给你的活动上下文参考适配器的开始活动。 – 2014-09-13 11:19:14

+0

tnx为你的答案,但这是崩溃,并强制关闭...看到日志[链接] http://xum.ir/images/2014/09/13/error2.jpg – 2014-09-13 11:27:56

0

尝试开始自己的活动这样

startActivity(Intent.createChooser(sendIntent, getResources().getText(R.string.send_to))); 

调用Intent.createChooser(),传递你的意图的对象,它 返回一个版本你的意图,将始终显示选择器。 这具有一些优点:

即使用户之前已为此 意图选择默认操作,选择器仍将显示。如果没有应用程序匹配,则Android会显示一条系统消息。您可以指定 选择器对话框的标题。

相关问题