Ich habe eine GridLayout
, die eine LinearLayout
in jeder Zelle enthält. Jetzt möchte ich die imageViews
ändern, die innerhalb der linearlayouts
sind, um jedes ein anderes Bild im Code und nicht im XML
zu haben, damit es sich dynamisch ändert. Ich weiß nicht, wie ich das machen soll.Bearbeiten ImageView in einem anderen Layout
Wenn ich dies tun:
public class Testextends AppCompatActivity
{
ImageView item0,item1,item2,item3,item4,item5,item6,item7,item8,item9;
TextView itemDesc0, itemDesc1;
@Override
protected void onCreate(Bundle savedInstanceState)
{
super.onCreate(savedInstanceState);
setContentView(R.layout.inventorylayout);
item0 = (ImageView)findViewById(R.id.imageViewItem);
itemDesc0 = (TextView)findViewById(R.id.itemDesc);
item0.setImageResource(R.drawable.test);
itemDesc0.setText("test1");
item1 = (ImageView)findViewById(R.id.item01);
itemDesc1 = (TextView)findViewById(R.id.itemDesc);
item1.setImageResource(R.drawable.test);
itemDesc1.setText("test2");
}
}
Ich kann nur das erste Bild ändern und nicht die andere 9.
Hier ist die mainLayout
<GridLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:columnCount="3"
android:rowCount="3"
android:gravity="center"
android:useDefaultMargins="true"
android:layout_gravity="center_horizontal">
<include layout="@layout/itemlayout"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:id="@+id/item01"
android:layout_row="0"
android:layout_column="0" />
<include layout="@layout/itemlayout"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:id="@+id/item02"
android:layout_row="0"
android:layout_column="1" />
<include layout="@layout/itemlayout"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:id="@+id/item03"
android:layout_row="0"
android:layout_column="2" />
<include layout="@layout/itemlayout"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:id="@+id/item01"
android:layout_row="1"
android:layout_column="0" />
<include layout="@layout/itemlayout"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:id="@+id/item02"
android:layout_row="1"
android:layout_column="1" />
<include layout="@layout/itemlayout"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:id="@+id/item03"
android:layout_row="1"
android:layout_column="2" />
<include layout="@layout/itemlayout"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:id="@+id/item01"
android:layout_row="2"
android:layout_column="0" />
<include layout="@layout/itemlayout"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:id="@+id/item02"
android:layout_row="2"
android:layout_column="1" />
<include layout="@layout/itemlayout"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:id="@+id/item03"
android:layout_row="2"
android:layout_column="2" />
</GridLayout>
</LinearLayout>
und hier ist die itemLayout
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:orientation="vertical" android:layout_width="match_parent"
android:layout_height="match_parent">
<ImageView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:id="@+id/imageViewInvBack"
android:background="@mipmap/invplaceback"
android:layout_gravity="center" />
<ImageView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:id="@+id/imageViewItem"
android:layout_alignTop="@id/imageViewInvBack"
android:layout_alignBottom="@id/imageViewInvBack"
android:layout_alignLeft="@id/imageViewInvBack"
android:layout_alignRight="@id/imageViewInvBack"
android:layout_gravity="center_horizontal" />
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Test"
android:id="@+id/itemDesc"
android:gravity="center_vertical|center_horizontal"
android:layout_gravity="center"
android:layout_below="@+id/imageViewInvBack"
android:layout_alignParentStart="true"
android:layout_marginStart="28dp" />
Sie haben es zu tun in getView Funktion des Adapters –