안드로이드 개발 정보
(글 수 1,069)
Layout 을 Include 하는 방법을 Launcher 소스에서 보고 test해 보았습니다.
참조
http://www.androidpub.com/256251#11
http://developer.android.com/resources/articles/layout-tricks-reuse.html
http://developer.android.com/resources/articles/layout-tricks-efficiency.html
Layout : main.xml
java
잘 되는데 문제가 하나 있습니다. ㅋㅋㅋ
이부분에서 이벤트가 제대로 안들어 오는군요.. ㅡ,.ㅡ
귀찮아서 이렇게 해봤는데.. 아놔~~
참조
http://www.androidpub.com/256251#11
http://developer.android.com/resources/articles/layout-tricks-reuse.html
http://developer.android.com/resources/articles/layout-tricks-efficiency.html
Layout : main.xml
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:orientation="vertical"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
>
<include android:id="@+id/cell1" layout="@layout/sub_layout" />
<include android:id="@+id/cell2" layout="@layout/sub_layout" />
<include android:id="@+id/cell3" layout="@layout/sub_layout" />
</LinearLayout>Sub Layout : sub_layout (참조한 사이트에서 발췌)<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout
xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="fill_parent"
android:layout_height="?android:attr/listPreferredItemHeight"
android:padding="6dip"
android:background="#FFFFFF">
<ImageView
android:id="@+id/icon"
android:layout_width="wrap_content"
android:layout_height="fill_parent"
android:layout_alignParentTop="true"
android:layout_alignParentBottom="true"
android:layout_marginRight="6dip"
android:src="@drawable/icon" />
<TextView
android:id="@+id/secondLine"
android:layout_width="fill_parent"
android:layout_height="26dip"
android:layout_toRightOf="@id/icon"
android:layout_alignParentBottom="true"
android:layout_alignParentRight="true"
android:singleLine="true"
android:ellipsize="marquee"
android:text="Simple application"
android:background="#508050"/>
<TextView
android:id="@+id/thirdLine"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:layout_toRightOf="@id/icon"
android:layout_alignParentRight="true"
android:layout_alignParentTop="true"
android:layout_above="@id/secondLine"
android:layout_alignWithParentIfMissing="true"
android:gravity="center_vertical"
android:text="My Application"
android:background="#202030"/>
</RelativeLayout>
java
package lowmans.MyIncludeLayoutTest;
import android.app.Activity; import android.os.Bundle; import android.util.Log; import android.view.View; import android.view.View.OnClickListener; import android.widget.ImageView; import android.widget.RelativeLayout; import android.widget.TextView;
public class MyIncludeLayoutTest extends Activity{
private final String tag = "MyIncludeLayoutTest";
private final int MAX = 3;
private RelativeLayout[] rl;
private ImageView[] iv;
private TextView[] up;
private TextView[] down;
private int[] imageID;
private int[] upTextID;
private int[] downTextID;
/** Called when the activity is first created. */
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
rl = new RelativeLayout[MAX];
iv = new ImageView[MAX];
up = new TextView[MAX];
down = new TextView[MAX];
imageID = new int[MAX];
upTextID = new int[MAX];
downTextID = new int[MAX];
rl[0] = (RelativeLayout)findViewById(R.id.cell1);
rl[1] = (RelativeLayout)findViewById(R.id.cell2);
rl[2] = (RelativeLayout)findViewById(R.id.cell3);
for(int i=0; i<MAX; i++){
iv[i] = (ImageView)rl[i].findViewById(R.id.icon);
up[i] = (TextView)rl[i].findViewById(R.id.secondLine);
down[i] = (TextView)rl[i].findViewById(R.id.thirdLine);
imageID[i] = iv[i].getId();
Log.i(tag ,"imageID : " + imageID[i]);
upTextID[i] = up[i].getId();
Log.i(tag ,"upTextID[i] : "+upTextID[i]);
downTextID[i] = down[i].getId();
Log.i(tag ,"downTextID : " + downTextID[i]);
iv[i].setOnClickListener(new OnClickListener(){
public void onClick(View v){
Log.i(tag , "" + v.getId());
}
});
up[i].setOnClickListener(new OnClickListener(){
public void onClick(View v){
Log.i(tag , "" + v.getId());
}
});
down[i].setOnClickListener(new OnClickListener(){
public void onClick(View v){
Log.i(tag , "" + v.getId());
}
});
}
}
}
잘 되는데 문제가 하나 있습니다. ㅋㅋㅋ
iv[i].setOnClickListener(new OnClickListener(){
public void onClick(View v){
Log.i(tag , "" + v.getId());
}
});
up[i].setOnClickListener(new OnClickListener(){
public void onClick(View v){
Log.i(tag , "" + v.getId());
}
});
down[i].setOnClickListener(new OnClickListener(){
public void onClick(View v){
Log.i(tag , "" + v.getId());
}이부분에서 이벤트가 제대로 안들어 오는군요.. ㅡ,.ㅡ
귀찮아서 이렇게 해봤는데.. 아놔~~



