2014-09-13 50 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會顯示一條系統消息。您可以指定 選擇器對話框的標題。

相關問題