안드로이드 개발 정보
(글 수 568)
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()); }
이부분에서 이벤트가 제대로 안들어 오는군요.. ㅡ,.ㅡ
귀찮아서 이렇게 해봤는데.. 아놔~~