カスタムレイアウトから膨らませたビューがあります。これには。が含まれていTextView
ます。文字列リソースを介してxmlからテキストを設定しようとしましたが、レイアウトを膨らませた後、プログラムでテキストを設定しようとしました-通常のテキストではなく、TextView
まだ取得しているだけです。android.widget.RelativeLayout@4166f2d8
私は何が間違っているのですか?
Xml:
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@+id/layers_list_item_root"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:padding="10dp" >
<CheckBox
android:id="@+id/layers_list_item_switch"
blablabla... />
<TextView
android:id="@+id/layers_list_item_text"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_gravity="left|center_vertical"
android:layout_toLeftOf="@id/layers_list_item_switch"
android:selectAllOnFocus="true"
android:text="@string/layers_list_default_text"
android:ellipsize="marquee"
android:focusable="true"
android:focusableInTouchMode="true"
android:marqueeRepeatLimit="marquee_forever"
android:singleLine="true"
android:scrollHorizontally="true"
android:textColor="@android:color/black"
android:textSize="16sp"
android:textStyle="bold"
android:typeface="serif"
android:clickable="true" />
</RelativeLayout>
膨らませる方法を見る:
public View createLayerListItem (String text) {
View v = View.inflate(this, R.layout.layers_list_item, null);
TextView text_view = (TextView) v.findViewById(R.id.layers_list_item_text);
text_view.setText(text);
return v;
}
そして、このビューはいくつかを埋めるために使用されますListView
:
ListView layers_list = (ListView)layers_dialog.findViewById(R.id.layers_list);
ArrayAdapter<View> adapter = new ArrayAdapter<View>(this, R.layout.layers_list_item, R.id.layers_list_item_text);
adapter.add(createLayerListItem("Test 1"));
adapter.add(createLayerListItem(""));
adapter.add(createLayerListItem("Very very very very very very long line"));
私TextViews
はすべて間違っており、を示していandroid.widget.RelativeLayout@4166f2d8
ます。また、コードから変更するのではなく、xmlからデフォルトのテキストを使用しようとしましたが、リソースからテキストを取得せず、アドレスのみを取得しました。