0

私はアンドロイド用のアプリを書いています。文字列の一部をアプリ内の別のページにハイパーリンクさせようとしていますが、その方法について苦労しています。

次のようなテキストビュー全体で動作させることができました:

TextView txtVirus = (TextView) findViewById(R.glossaryMalwareID.txtVirus);      
txtVirus.setText(Html.fromHtml("<U>Computer Virus<U>"));        
txtVirus.setOnClickListener(new View.OnClickListener() {
        public void onClick(View v) {
            // TODO Auto-generated method stub
            startActivity(new Intent ("com.digitalsecurity.app.GLOSSARYVIRUS"));
        }
    });     

ただし、これは、文字列が完全に新しい行にある必要があることを意味します (またはそう信じています)。

私が望むのは、以下のコードのメモが示すようにできることです:

        TextView txtVirus = (TextView) findViewById(R.glossaryMalwareID.virusmain);     
    txtVirus.setText(Html.fromHtml("<br>" +
            "A Computer Virus is a small peice of " +
            "Software" +//i want the word 'software' hyperlinked to another page in my program
            "so on and so on"));
4

2 に答える 2

1

4時間の検索と微調整の後、答えがあります:

TextView txtVirus = (TextView) findViewById(R.glossaryMalwareID.virusmain);

    // this is the text we'll be operating on
    SpannableString text = new SpannableString("A Computer Virus is a small peice of Software. to make this easier to");

    //stops it from flickering to another colour when string is pressed.
    text.setSpan(new ForegroundColorSpan(Color.WHITE), 0, 69, 0);

    // make "Software" (characters 37 to 45) 
    //runs when clickableSpan is pressed
    ClickableSpan clickableSpan = new ClickableSpan() {
        @Override
        public void onClick(View view) {
            startActivity(new Intent ("com.digitalsecurity.app.MALWAREHOWTOPROTECT"));
        }
    };
    //this is what calls the method
    text.setSpan(clickableSpan, 37, 45, 0);
    //underlines it
    text.setSpan(new URLSpan(""), 37, 45, 0);
    //turns it blue
    text.setSpan(new ForegroundColorSpan(Color.BLUE), 37, 45, 0);


    txtVirus.setMovementMethod(LinkMovementMethod.getInstance());

    // shove our styled text into the TextView
    txtVirus.setText(text, BufferType.SPANNABLE);

私はここから助けを得ました。これには、他のかなり役立つ書式設定オプションもあります。

http://www.chrisumbel.com/article/android_textview_rich_text_spannable文字列

同じことを必要としている他の人の助けになることを願っています

于 2012-04-09T19:41:52.693 に答える
0

リンクが表示されている場合、TextViewは次のTextviewようになります。

TextView txtVirus = (TextView) findViewById(R.glossaryMalwareID.virusmain);
txtVirus .setText("A Computer Virus is a small peice of " +
        "Software" + just write down your link automatically converted to URL 
        "so on and so on);
Linkify.addLinks(noteView, Linkify.ALL);

このLINKY FY FOR ANDROIDを読む

ご質問があればお知らせください..

于 2012-04-05T13:07:53.593 に答える