Как поделиться случайно просматриваемым текстом?

#java #android #sdk #adt #share-button

#java #Android #sdk #adt #поделиться-кнопка

Вопрос:

Я хочу, чтобы пользователь мог делиться тем, что случайно просматривает текст из набора текстов, но это кажется очень сложным. Я пытался найти ответ, но все говорят об обмене изображениями.

Вот мой Java-код:

 public class Second extends ActionBarActivity {

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_second);

        final TextView generatedtxt = (TextView) findViewById(R.id.generatedtxt);
        Typeface custom_font = Typeface.createFromAsset(getAssets (), "fonts/1.ttf");

        generatedtxt.setTypeface(custom_font);

        Button generatebtn = (Button) findViewById(R.id.generatebtn);

        final String[] gn = {"text1", "text2", "text3", "text4", "text5"};

        generatebtn.setOnClickListener(new View.OnClickListener() {

            @Override
            public void onClick(View v) {

                int rando = (int) (Math.random() *5);
                generatedtxt.setText(gn[rando]);

            }
        });


    }

}
  

и это мой XML:

 <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:paddingBottom="@dimen/activity_vertical_margin"
android:paddingLeft="@dimen/activity_horizontal_margin"
android:paddingRight="@dimen/activity_horizontal_margin"
android:background="@drawable/bg2"
android:paddingTop="@dimen/activity_vertical_margin" >

<Button
    android:id="@ id/generatebtn"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:layout_alignParentBottom="true"
    android:layout_alignParentRight="true"
    android:layout_toRightOf="@ id/sharebtn"
    android:text="@string/generatebtn" />

<Button
    android:id="@ id/sharebtn"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:layout_alignParentBottom="true"
    android:layout_alignParentLeft="true"
    android:text="@string/sharebtn" />

<TextView
    android:id="@ id/generatedtxt"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:layout_above="@ id/generatebtn"
    android:layout_alignParentLeft="true"
    android:layout_alignParentRight="true"
    android:layout_alignParentTop="true"
    android:gravity="center"
    android:text="@string/gt"
    android:textSize="40sp" />
  

Может кто-нибудь мне помочь, пожалуйста?

Комментарии:

1. в чем ваш вопрос?

Ответ №1:

Вам просто нужно создать ACTION_SEND намерение и поместить свой текст в качестве EXTRA_TEXT дополнительного.

 int rando = (int) (Math.random() *5);
String text = gn[rando];

Intent sendIntent = new Intent(Intent.ACTION_SEND);
sendIntent.putExtra(Intent.EXTRA_TEXT, text);
sendIntent.setType("text/plain");
startActivity(sendIntent);
  

Пожалуйста, проверьте отправку текстового содержимого в документации Android.

Комментарии:

1. Спасибо за ответ, но каждый раз, когда я нажимаю кнопку генерации «generatebtn», она изменяет текст и открывает действие «Поделиться». Я хочу, чтобы, когда мне нравится текст, я хотел иметь возможность нажать другую кнопку «sharebtn», чтобы поделиться отображаемым текстом. 🙂

2. Это был просто пример. 🙂 Вам нужно добавить еще одну кнопку и в ее OnClickListener запустить этот код, только используя generatedtxt.getText().toString() вместо text переменной.