【问题标题】:How to start new activity by clicking Link in TextView如何通过单击 TextView 中的链接来启动新活动
【发布时间】:2013-08-07 20:40:21
【问题描述】:

我有带有 TextView 的 ViewActivity,我从资源 txt 文件中设置了跨区文本。

查看活动:

    Spanned textSP = android.text.Html.fromHtml(text);
    tvtv = (TextView)findViewById(R.id.tvtv);
    tvtv.setText(textSP);
    Linkify.addLinks(tvtv, Linkify.WEB_URLS);

我创建了包含一些 ID 信息的链接,正如本文handle textview link click in my android app 中所写。 有必要通过单击链接下载我的应用程序(而不是浏览器)的 SecondAcitvity(与其他 TextView)。

第二个活动:

    protected void onCreate(Bundle savedInstanceState) {
    // TODO Auto-generated method stub
    super.onCreate(savedInstanceState);
    setContentView(R.layout.statya);        
    //пытаемся перейти со ссылки
    Uri data = getIntent().getData();
    String data2 = data.getLastPathSegment();
    TextView tvStatya = (TextView)findViewById(R.id.tvStatya);
    tvStatya.setText(data2);
}

}

【问题讨论】:

    标签: textview uri linkify


    【解决方案1】:

    像这样在你的 xml 中添加一个 onClick

      <TextView
        android:id="@+id/name" 
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:onClick="clickFunction"/>
    

    然后在你的java中

    public void clickFunction(View v)
    {
        Intent intent = new Intent(this, nextActivity.class);
        startActivity(intent);
    }
    

    【讨论】:

    • 不起作用 =( 我想我应该创建自定义的 linkMovement 方法...但是如何??
    • 08-08 13:38:12.469: E/AndroidRuntime(17185): android.content.ActivityNotFoundException: 找不到处理 Intent { act=android.intent.action.VIEW dat=women 咨询的活动://statya/122(有附加功能)} 08-08 13:38:12.469:E/AndroidRuntime(17185):在 android.app.Instrumentation.checkStartActivityResult(Instrumentation.java:1409) 08-08 13:38:12.469 : E/AndroidRuntime(17185): 在 android.app.Instrumentation.execStartActivity(Instrumentation.java:1379)
    • 第二个活动肯定在清单中吗?你是否设置了第二个活动来处理你添加到意图中的额外内容?
    猜你喜欢
    • 2011-05-18
    • 1970-01-01
    • 2015-10-29
    • 2017-11-07
    • 1970-01-01
    • 2014-11-24
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多