2016-08-07 24 views
1

Ich arbeite an einer Freigabe-Taste, um das aktuelle Element Bild und Inhalt zu teilen, aber ich kann nicht sehen, um den Text aus der texView-ID zu Intent Share zu arbeiten. Ich frage mich, ob jemand eine bessere Methode kennt?Android kann keine Texview-Inhalte zum Teilen der Absicht erhalten

btnShare.setOnClickListener(new OnClickListener() { 

public void onClick(View arg0) { 
    View content = findViewById(R.id.imgPreview); 
    content.setDrawingCacheEnabled(true); 

     Bitmap bitmap = content.getDrawingCache(); 
     File root = Environment.getExternalStorageDirectory(); 
     File cachePath = new File(root.getAbsolutePath() + "/DCIM/image.jpg"); 
     try { 
      cachePath.createNewFile(); 
      FileOutputStream ostream = new FileOutputStream(cachePath); 
      bitmap.compress(CompressFormat.JPEG, 100, ostream); 
      ostream.close(); 
     } catch (Exception e) { 
      e.printStackTrace(); 
     } 


     TextView tittle = (TextView) findViewById(R.id.txtText); 
     TextView txtSubText = (TextView) findViewById(R.id.txtSubText); 
     TextView txtDescription = (TextView) findViewById(R.id.txtDescription); 


     Intent share = new Intent(Intent.ACTION_SEND); 
     share.setType("text/plain"); 
     share.putExtra(Intent.EXTRA_SUBJECT, tittle); 
     share.putExtra(Intent.EXTRA_TEXT, txtSubText); 
     share.putExtra(Intent.EXTRA_TEXT, txtDescription); 
     share.putExtra(Intent.EXTRA_STREAM, Uri.fromFile(cachePath)); 
     share.putExtra(Intent.EXTRA_TEXT,"This was share via Almas's Delicias"); 
     startActivity(Intent.createChooser(share,"Share via")); 
+1

Um einen 'TextView' Text als' String' zu bekommen, müssen Sie 'getText() aufrufen toString()' darauf. Wie Sie es jetzt haben, versuchen Sie, die 'TextView's selbst als Extras anzuhängen. –

Antwort

1

Ändern Sie diese Zeilen Code.

share.putExtra(Intent.EXTRA_SUBJECT, tittle.getText().toString()); 
share.putExtra(Intent.EXTRA_TEXT, txtSubText.getText().toString()); 
share.putExtra(Intent.EXTRA_TEXT, txtDescription.getText().toString()); 
+0

Danke das hat den Trick gemacht. :-) – rijotech

+0

Froh, das zu hören! – Marat