如何通过Android TextView中的Html超链接在活动之间传递数据?

时间:2013-04-24 10:45:24

标签: android android-intent

我有TextView超链接。像这样的代码

textPaymentMethod.setText(
Html.fromHtml("<b><a href=\"shippinginfo-activity://shippinginfo\">Add Payment Method</a></b>"));
tvPaymentMethod.setMovementMethod(LinkMovementMethod.getInstance());

当用户Click使用AddPayment方法时,它会转到另一个Activity,如ActivityX。但我的问题是,我想将一些数据从当前Activity传递到ActivityX。 任何建议将不胜感激。

4 个答案:

答案 0 :(得分:1)

您是否看到了Question的答案?查看注释,详细说明通过使用字符串将数据传递到另一个活动的方法。

答案 1 :(得分:0)

为了从一个活动转移到另一个活动,请编写以下代码

//move to next activity
Intent intent = new Intent(FirstActivity.this, SecondActivity.class);
//pass your data here
intent.putExtra("data", <your data value>);
//start Activity
startIntent(intent);
In Activity3, to get your edit text value do the following.

//get your data value here which is passed in FirstActivity
String data = getIntent().getStringExtra("data");

变量“data”是您要查找的最终输出。

答案 2 :(得分:0)

在当前的活动中添加此内容

Intent activity= new Intent(Activity.this, ActivityX.class);

activity.putExtra("key", <value>);

startIntent(activity);

ActivityX:在OnCreate()

Intent value = getIntent();
String str_value= (String) usrid.getSerializableExtra("key");

答案 3 :(得分:0)

所以我在Phil的帮助下弄清楚了,我在这里读到了这个答案:handle textview link click in my android app

将以下intent-filter添加到要超链接的清单活动中,当然用您自己的方案替换该方案:

<intent-filter>
    <category android:name="android.intent.category.DEFAULT" />
    <action android:name="android.intent.action.VIEW" />
    <data android:scheme="com.package.name" />  
</intent-filter>

现在,使用方案创建超链接并将其放在字符串文件中。我的链接与intent-filter具有相同的android:scheme,并附加到互联网上的网站的实际外部链接。在我的情况下,我想点击链接,它必须打开另一个活动,其他活动有一个webview,将显示该网页。这可以防止用户看到我在电话上指示他们的网页的网址。

<string name="signing_in">&lt;a href=&quot;com.package.name://http://your_real_external_link_goes_here&quot;&gt;Privacy Policy&lt;/a&gt;</string>

在我使用webview的活动中,我说:

    Uri data = getIntent().getData();
    if (data != null) {
        url = data.toString().substring(19 , data.toString().length());
        Log.e("url", url);
    }

我们将部分说明:com.package.name://,其中总共为19个字符,剩下的部分将是我的网址,然后我可以使用该网址加载我的网页而不显示网址。