カスタムAlertDialog
を作成していますが、1 つのエラーが発生します。
次のような文字列strings.xml
を定義しました。
<string name="infoDetail">Test: <a href="http://www.google.com">Google</a></string>
次のようなカスタム レイアウトを作成しました。
<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="fill_parent"
android:layout_height="fill_parent" >
<TextView
android:id="@+id/infoVersionTitle"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentLeft="true"
android:layout_alignParentTop="true"
android:layout_centerInParent="true"
android:gravity="right|center"
android:text="@string/infoVersion"
android:textAppearance="?android:attr/textAppearanceLarge" />
<TextView
android:id="@+id/infoVersionTitleValue"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentRight="true"
android:layout_alignParentTop="true"
android:layout_toRightOf="@+id/infoVersionTitle"
android:textAppearance="?android:attr/textAppearanceLarge" />
<TextView
android:id="@+id/infoDetailText"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentLeft="true"
android:layout_alignParentRight="true"
android:layout_below="@+id/infoVersionTitle"
android:autoLink="web"
android:linksClickable="true"
android:padding="4dp"
android:text="@string/infoDetail" />
</RelativeLayout>
AlertDialog
これは、私のカスタム レイアウトでを作成するためのコードです。
case R.id.info:
AlertDialog.Builder about = new AlertDialog.Builder(this);
about.setTitle(getString(R.string.app_name));
about.setIcon(R.drawable.info);
about.setView(getLayoutInflater().inflate(R.layout.info, null));
TextView infoDetail = (TextView) findViewById(R.id.infoDetailText);
infoDetail.setMovementMethod(LinkMovementMethod.getInstance());
about.setPositiveButton("OK", new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialog, int which) {
dialog.dismiss();
}
});
about.show();
break;
これで私はjava.lang.NullPointerException
オンになっていinfoDetail.setMovementMethod(LinkMovementMethod.getInstance());
ます。
この行を削除すると、カスタム レイアウトは期待どおりに表示されますが、URL はクリックできません。
私は何を間違っていますか?