如何从xml中的T​​extView中获取文本并使用共享按钮进行共享?

时间:2018-05-20 06:36:39

标签: java android

似乎之前曾问过这个问题,但我找不到我要找的答案。我在.xml file中有两个TextView,第一个TextView用于Title,第二个用于Url。这两个TextView从实时firebase数据库中获取数据,因此Title和Url每次都会变化。在TextViews下面,我有一个共享按钮。单击此按钮时,我希望它从两个textView中获取数据,并通过Gmail,Facebook和其他社交网站共享。

我的.xml file看起来像是:

<TextView
        android:gravity="center"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:id="@+id/title"
        android:layout_marginTop="15dp"
        android:text="Title"
        android:textSize="30sp"
        android:textStyle="bold"/>

<TextView
        android:gravity="center"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:id="@+id/url"
        android:layout_marginTop="15dp"
        android:text="url"/>

<TextView
        android:gravity="center"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:id="@+id/btn_share"
        android:layout_marginTop="15dp"
        android:text="Share"/>

因此,每次Url和Title更改并且“共享”按钮应该能够获取TextView中当前存在的数据并通过不同平台共享

3 个答案:

答案 0 :(得分:1)

为共享文字创建Intent,为startActivity

创建Intent
    buttonSubmit.setOnClickListener(new View.OnClickListener() {
        @Override
        public void onClick(View v) {
             String title = (String) textViewTitle.getText();
             String uriStr = (String) textViewUri.getText();

             String shareString = title + ", " + uriStr;

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

        }
    });

查看此link了解更多信息。

答案 1 :(得分:0)

所以你应该在按钮的OnClick中进行这项操作,即

     public void onClick(View view)
     {
       String Title = textViewTitle.getText().toString().trim();
       String Url = textViewUrl.getText().toString().trim();

       \\ Share Button Logic Goes Here
     }

并记得添加 -

   btnShare.setOnClickListener(this);

和类应该实现View.OnClickListener。

这将完成你的工作。

答案 2 :(得分:0)

我会将第三个TextView更改为实际按钮。但是,如果您不想这样做,可以在第三个TextView上setOnClickListener,在第一个和第二个文本视图上onClick()调用getText.toString()。并连接它们。最后推出股票意图分享给不同的社交媒体。 Here是解决这个问题的方法。使用第一个解决方案。