das folgende Beispiel-Layout mit einer benutzerdefinierten Ansicht "RowWrapperView" Gegeben:Benutzerdefinierte Ansicht seines Inhalts in einer bestimmten Kind Ansicht Einwickeln
(row_item.xml)
<?xml version="1.0" encoding="utf-8"?>
<com.example.android.RowWrapperView
xmlns:android="http://schemas.android.com/apk/res/android"
... >
<Button android:id="@+id/btn1"
android:layout_width="wrap_content"
android:layout_height="wrap_content"/>
<Button android:id="@+id/btn2"
android:layout_width="wrap_content"
android:layout_height="wrap_content"/>
<Button android:id="@+id/btn3"
android:layout_width="wrap_content"
android:layout_height="wrap_content"/>
</com.example.android.RowWrapperView>
Der Blick hat ein aufgeblasenes Layout (view_row_wrapper .xml) mit einem Linearlayout mit der ID "R.id.container":
public class RowWrapperView extends RelativeLayout {
public RowWrapperView(Context context) {
super(context);
init();
}
public RowWrapperView(Context context, AttributeSet attrs) {
super(context, attrs);
init();
}
public RowWrapperView(Context context, AttributeSet attrs, int defStyleAttr) {
super(context, attrs, defStyleAttr);
init();
}
public LinearLayout container;
private void init() {
inflate(getContext(), R.layout.view_row_wrapper, this);
container = (LinearLayout) findViewById(R.id.container);
}
}
(view_row_wrapper.xml)
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout
xmlns:android="http://schemas.android.com/apk/res/android"
... >
<LinearLayout
android:id="@+id/something"
android:orientation="horizontal"
android:layout_width="wrap_content"
android:layout_height="wrap_content" >
<Button android:id="@+id/test"
android:layout_width="wrap_content"
android:layout_height="wrap_content"/>
...
</LinearLayout>
<LinearLayout
android:id="@+id/container"
android:orientation="horizontal"
android:layout_width="wrap_content"
android:layout_height="wrap_content" >
<!-- Trying to get the content of the view here -->
</LinearLayout>
<LinearLayout
android:id="@+id/something_else"
android:orientation="horizontal"
android:layout_width="wrap_content"
android:layout_height="wrap_content" >
...
<TextView
android:id="@+id/message_sender"
tools:text="Jon Snow"
android:layout_width="wrap_content"
android:layout_height="wrap_content" />
</LinearLayout>
</LinearLayout>
Was ich versuche ist, den Inhalt von "RowWrapperView" (of row_item.xml) in R.id.container zu bekommen.
Fehle ich etwas?
Dies wird das Layout R.layout.view_row_wrapper in der benutzerdefinierten Ansicht korrekt aufblasen. Aber wie bekomme ich den Inhalt des Tags RowWrapperView (in row_item.xml) im R.id.container? – Daniel