LayoutInflater
このビューを複数回 (動的に) 必要に応じて使用して、xml を膨らませています。
私の ònCreate` メソッドは次のとおりです。
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.home);
v[i]= new View[4];
LinearLayout linear= (LinearLayout) findViewById(R.id.linearLayout);
LayoutInflater inflater = (LayoutInflater)getSystemService(Context.LAYOUT_INFLATER_SERVICE);
for(int i = 1; i <4; i++) {
v[i]= inflater.inflate(R.layout.row, linear); //v[i] returns view i.e. Linear Layout from my row.xml
}
}
私のrow.xmlのコードは次のとおりです-
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:background="#ffaf04"
android:orientation="horizontal"
android:padding="10dip" >
<LinearLayout
android:id="@+id/rel1"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginRight="5dp"
android:background="#ffffff"
android:orientation="vertical"
android:padding="5dp" >
<ImageView
android:id="@+id/imageView1inInflatedRow"
android:layout_width="130dp"
android:layout_height="wrap_content"
android:adjustViewBounds="true"
android:src="@drawable/image_holder" >
</ImageView>
<Button
android:id="@+id/button1inInflatedRow"
android:layout_width="match_parent"
android:layout_height="40dp"
android:layout_marginTop="5dp"
android:background="@layout/button_selector"
android:padding="5dip"
android:textColor="#FFFFFF"
android:textSize="12sp" >
</Button>
</LinearLayout>
<LinearLayout
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginLeft="5dp"
android:background="#ffffff"
android:orientation="vertical"
android:padding="5dp" >
<ImageView
android:id="@+id/imageView2inInflatedRow"
android:layout_width="130dp"
android:layout_height="wrap_content"
android:adjustViewBounds="true"
android:src="@drawable/image_holder" >
</ImageView>
<Button
android:id="@+id/button2inInflatedRow"
android:layout_width="match_parent"
android:layout_height="40dp"
android:layout_marginTop="5dp"
android:background="@layout/button_selector"
android:padding="5dip"
android:textColor="#FFFFFF"
android:textSize="12sp" >
</Button>
</LinearLayout>
</LinearLayout>
行にボタンが含まれるようになりました。ボタンの onclick リスナーを設定したいと思います。つまり、 forbutton1inInflatedRow
と button2inInflatedRow
hich は同じ機能を実行しますが、どのボタンがその機能を呼び出したかを知る必要があります。findVieById()
では、これらのボタンを呼び出すにはどうすればよいでしょうか。または、ボタンを呼び出す他の方法はありonclick
ますか..?