Я пытаюсь отобразить текст в диалоговом окне предупреждения как гиперссылку. Часть процесса требует от меня использовать SpannableString для форматирования текста. Проблема в том, что мое приложение испытывает ошибку времени выполнения в части SpannableString моего кода.Ошибка Spannable String
TextView Tv= (TextView) findViewById(R.id.textView3);
SpannableString s = new SpannableString("www.google.com");
Linkify.addLinks(s, Linkify.WEB_URLS);
Tv.setText(s);
Tv.setMovementMethod(LinkMovementMethod.getInstance());
Я посмотрел в DDMS, и ошибка говорит о Java.Lang.NullPointerException. Кто-нибудь испытал это? Я должен иметь возможность передать метод SpannableString жестко закодированную строку. Я не знаю, почему он так разбивается.
Это OnCreate функция в моем файле Java:
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
//System.out.println("+++++++++++++++++++++++");
TextView Tv= (TextView) findViewById(R.id.textviewH);
Tv.setText("GO!");
//System.out.println("+++++++++++++++++++++++");
SpannableString s = new SpannableString("www.google.com");
Linkify.addLinks(s, Linkify.WEB_URLS);
Tv.setText(s);
Tv.setMovementMethod(LinkMovementMethod.getInstance());
AlertDialog.Builder dialog = new AlertDialog.Builder(this);
dialog.setTitle("About T2M");
dialog.setIcon(R.drawable.ic_launcher);
dialog.setView(getLayoutInflater().inflate(R.layout.activity_about_t2m, null));
dialog.setCancelable(false);
dialog.setPositiveButton(android.R.string.ok,
new DialogInterface.OnClickListener() {
public void onClick(DialogInterface dialog, int id)
{
dialog.cancel();
}
});
//System.out.println("+++++++++++++++++++++++");
dialog.create();
dialog.show();
}
Это вид текста в моем файле XML:
<TextView
android:id="@+id/textviewH"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignBottom="@+id/textView5"
android:layout_alignLeft="@+id/textView2"
android:autoLink="all"
android:clickable="true"
android:text="Humium"
android:textSize="15sp" />
Не могли бы вы предоставить нам строку, где возникает NullPointerException? – Aleks
Я провел несколько тестов с использованием println и обнаружил, что ошибка происходит прямо на линии построения SpannableString. –
Вы уверены, что это не могло произойти из ** findViewById **? Потому что я не могу думать о какой-либо причине, почему ** SpannableString ** будет искать исключение NullPointerException ... – Aleks