Кликабельные слова в TextView - PullRequest
2 голосов
/ 28 марта 2011

Я хочу показать какой-то «отформатированный» текст в моей деятельности.

Некоторые слова в этом TextView (например, отформатированные жирным шрифтом) должны быть активными.

Когда пользователь нажимает нана них должно отображаться тостовое сообщение.

Есть ли возможность сделать это в Android?

Спасибо

1 Ответ

5 голосов
/ 14 апреля 2011

Я нашел, вероятно, лучшее и более гибкое решение для меня.

Я могу использовать внутри него функции WebView, HTML и JavaScript, которые вызывают методы в моем приложении для Android.

public class MainScreen extends Activity 
{

    /** Called when the activity is first created. */
    @Override
    public void onCreate(Bundle savedInstanceState) 
    {
        super.onCreate(savedInstanceState);
        WebView webview = new WebView(this);
        setContentView(webview);
        String data = "Test <u onClick=\"showAndroidToast('test')\">it</u>";
        String js_data = "<script type=\"text/javascript\">function showAndroidToast(toast){Android.showToast(toast);}</script>";
        webview.loadData(data + js_data, "text/html", "utf-8");

        WebSettings webSettings = webview.getSettings();
        webSettings.setJavaScriptEnabled(true);

        webview.addJavascriptInterface(new JavaScriptInterface(this), "Android");        
    }    

    public class JavaScriptInterface
    {
        Context mContext;

        /** Instantiate the interface and set the context */
        JavaScriptInterface(Context c)
        {
            mContext = c;
        }

        /** Show a toast from the web page */
        public void showToast(String toast)
        {
            Toast.makeText(mContext, toast, Toast.LENGTH_SHORT).show();
        }
    }
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...