facebook twitter hatena line email

「Android/レイアウト/レイアウトファイルをjavaで取得」の版間の差分

提供: 初心者エンジニアの簡易メモ
移動: 案内検索
 
(同じ利用者による、間の3版が非表示)
行1: 行1:
 +
res/layout/main.xml
 +
<pre>
 +
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
 +
    xmlns:tools="http://schemas.android.com/tools"
 +
    android:layout_width="match_parent"
 +
    android:layout_height="match_parent"
 +
    android:orientation="vertical" >
 +
            <LinearLayout
 +
                android:id="@+id/bodyLayout"
 +
                android:layout_width="match_parent"
 +
                android:layout_height="match_parent"
 +
                android:gravity="center_horizontal"
 +
                android:orientation="vertical">
 +
            </LinearLayout>
 +
</LinearLayout>
 +
</pre>
 +
 
res/layout/video_item.xml
 
res/layout/video_item.xml
 
<pre>
 
<pre>
行6: 行23:
 
     android:gravity="center_horizontal"
 
     android:gravity="center_horizontal"
 
     android:orientation="vertical">
 
     android:orientation="vertical">
 
 
     <ImageView
 
     <ImageView
 
         android:id="@+id/iconImage"
 
         android:id="@+id/iconImage"
行17: 行33:
 
<pre>
 
<pre>
 
import android.view.LayoutInflater;
 
import android.view.LayoutInflater;
 +
 +
LinearLayout bodyLayout = findViewById(R.id.bodyLayout);
 
LayoutInflater inflater = LayoutInflater.from(this);
 
LayoutInflater inflater = LayoutInflater.from(this);
 
LinearLayout itemLayout = (LinearLayout)inflater.inflate(R.layout.video_item, null);
 
LinearLayout itemLayout = (LinearLayout)inflater.inflate(R.layout.video_item, null);
// id取得
+
Button button = (Button)itemLayout.findViewById(R.id.button1); // 取得したxmlレイアウトのid取得はこんな感じ
Button button = (Button)itemLayout.findViewById(R.id.button1);
+
bodyLayout.addView(itemLayout);
 
</pre>
 
</pre>
  

2019年3月26日 (火) 16:58時点における最新版

res/layout/main.xml

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:tools="http://schemas.android.com/tools"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:orientation="vertical" >
            <LinearLayout
                android:id="@+id/bodyLayout"
                android:layout_width="match_parent"
                android:layout_height="match_parent"
                android:gravity="center_horizontal"
                android:orientation="vertical">
            </LinearLayout>
</LinearLayout>

res/layout/video_item.xml

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:gravity="center_horizontal"
    android:orientation="vertical">
    <ImageView
        android:id="@+id/iconImage"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content" />
</LinearLayout>

hogehoge.java

import android.view.LayoutInflater;

LinearLayout bodyLayout = findViewById(R.id.bodyLayout);
LayoutInflater inflater = LayoutInflater.from(this);
LinearLayout itemLayout = (LinearLayout)inflater.inflate(R.layout.video_item, null);
Button button = (Button)itemLayout.findViewById(R.id.button1); // 取得したxmlレイアウトのid取得はこんな感じ
bodyLayout.addView(itemLayout);

参考:http://inujirushi123.blog.fc2.com/blog-entry-27.html

参考:https://developer.android.com/reference/android/view/LayoutInflater