<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical" >
<TextView
android:id="@+id/textView1"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="@string/large_text"
android:textAppearance="?android:attr/textAppearanceLarge"
android:textColor="#00F" />
<TextView
android:id="@+id/textView2"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Medium Text"
android:textAppearance="?android:attr/textAppearanceMedium"
android:textColor="#0F0" />
</LinearLayout>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:id="@+id/LinearLayout1"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical"
android:paddingBottom="@dimen/activity_vertical_margin"
android:paddingLeft="@dimen/activity_horizontal_margin"
android:paddingRight="@dimen/activity_horizontal_margin"
android:paddingTop="@dimen/activity_vertical_margin"
tools:context=".MainActivity" >
<EditText
android:id="@+id/editText1"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:ems="10" >
<requestFocus />
</EditText>
<EditText
android:id="@+id/editText2"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:ems="10" />
<Button
android:id="@+id/button1"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Button" />
<ListView
android:id="@+id/listView1"
android:layout_width="match_parent"
android:layout_height="wrap_content" >
</ListView>
</LinearLayout>
package com.example.customlist;
public class MyData {
public String title;
public String desc;
public MyData(String title,String desc){
this.title = title;
this.desc = desc;
}
//
}
package com.example.customlist;
import android.content.Context;
import android.view.LayoutInflater;
import android.widget.LinearLayout;
import android.widget.TextView;
/**
*
* @author Dream
* layoutinflater 를 얻어와서
*/
public class MyItemView extends LinearLayout {
TextView titleView;
TextView descView;
MyData mData;
public MyItemView(Context context) {
super(context);
// TODO Auto-generated constructor stub
///레이아웃 인플레이터 얻어오기
LayoutInflater inflater = LayoutInflater.from(context);
inflater.inflate(R.layout.item_layout, this);
titleView = (TextView)findViewById(R.id.textView1);
descView = (TextView)findViewById(R.id.textView1);
}
public void setData(MyData data){
mData = data;
titleView.setText(data.title);
descView.setText(data.desc);
}
}
package com.example.customlist;
import java.util.ArrayList;
import java.util.List;
import android.content.Context;
import android.view.View;
import android.view.ViewGroup;
import android.widget.BaseAdapter;
public class MyAdapter extends BaseAdapter {
List<MyData> mData = new ArrayList<MyData>();
Context mContext;
public MyAdapter(Context context) {
// TODO Auto-generated constructor stub
mContext = context;
}
public MyAdapter(Context context,List<MyData>items) {
// TODO Auto-generated method stub
mContext = context;
mData.addAll(items);
}
@Override
public int getCount() {
// TODO Auto-generated method stub
return mData.size();
}
@Override
public Object getItem(int position) {
// TODO Auto-generated method stub
return mData.get(position);
}
@Override
public long getItemId(int position) {
// TODO Auto-generated method stub
return position;
}
@Override
public View getView(int position, View arg1, ViewGroup arg2) {
// TODO Auto-generated method stub
MyItemView view = new MyItemView(mContext);
view.setData(mData.get(position));
return view;
}
}
package com.example.customlist;
import java.util.ArrayList;
import java.util.List;
import android.os.Bundle;
import android.app.Activity;
import android.view.Menu;
import android.widget.ListView;
public class MainActivity extends Activity {
ListView list;
MyAdapter mAdapter;
List<MyData> items = new ArrayList<MyData>();
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
list = (ListView)findViewById(R.id.listView1);
initData();
mAdapter = new MyAdapter(this,items);
list.setAdapter(mAdapter);
}
public void initData(){
items.add(new MyData("title1"," desc"));
items.add(new MyData("title1"," desc"));
items.add(new MyData("title1"," desc"));
}
@Override
public boolean onCreateOptionsMenu(Menu menu) {
// Inflate the menu; this adds items to the action bar if it is present.
getMenuInflater().inflate(R.menu.main, menu);
return true;
}
}