first this problem solution achieve we can create custom listview...
suppose your listview xml file like...
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:orientation="vertical"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
>
<ListView
android:layout_height="wrap_content"
android:id="@android:id/list"
android:layout_width="match_parent"></ListView>
</LinearLayout>
and custom view xml file...
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:background="@android:color/black"
>
<TextView
android:text="TextView"
android:id="@+id/textView1"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:textColor="@android:color/white"
android:textSize="30dip">
</TextView>
</LinearLayout>
activity class...
public class ListHeaderActivity extends ListActivity {
ListView lstVw;
MyArrayAdapter myArrayAdapter = null;
ArrayList<String> arrList = new ArrayList<String>();
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
arrList.add("android");
arrList.add("iphone");
arrList.add("rim");
lstVw = getListView();
myArrayAdapter = new MyArrayAdapter(ListHeaderActivity.this,
R.layout.header, arrList);
lstVw.setAdapter(myArrayAdapter);
}
}
adapter class....
public class MyArrayAdapter extends ArrayAdapter<String> {
ViewHolder holder;
private int rawLayout;
public MyArrayAdapter(Context context, int resourceId,
ArrayList<String> objects) {
super(context, resourceId, objects);
rawLayout = resourceId;
}
@Override
public int getCount() {
return super.getCount();
}
@Override
public View getView(int position, View convertView, ViewGroup parent) {
if (convertView == null) {
LayoutInflater inflater = LayoutInflater.from(getContext());
convertView = inflater.inflate(rawLayout, parent, false);
holder = new ViewHolder();
holder.title1 = (TextView) convertView.findViewById(R.id.textView1);
convertView.setTag(holder);
} else {
holder = (ViewHolder) convertView.getTag();
}
holder.title1.setText("your text item");
return convertView;
}
private class ViewHolder {
TextView title1;
}
}
suppose your listview xml file like...
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:orientation="vertical"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
>
<ListView
android:layout_height="wrap_content"
android:id="@android:id/list"
android:layout_width="match_parent"></ListView>
</LinearLayout>
and custom view xml file...
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:background="@android:color/black"
>
<TextView
android:text="TextView"
android:id="@+id/textView1"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:textColor="@android:color/white"
android:textSize="30dip">
</TextView>
</LinearLayout>
activity class...
public class ListHeaderActivity extends ListActivity {
ListView lstVw;
MyArrayAdapter myArrayAdapter = null;
ArrayList<String> arrList = new ArrayList<String>();
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
arrList.add("android");
arrList.add("iphone");
arrList.add("rim");
lstVw = getListView();
myArrayAdapter = new MyArrayAdapter(ListHeaderActivity.this,
R.layout.header, arrList);
lstVw.setAdapter(myArrayAdapter);
}
}
adapter class....
public class MyArrayAdapter extends ArrayAdapter<String> {
ViewHolder holder;
private int rawLayout;
public MyArrayAdapter(Context context, int resourceId,
ArrayList<String> objects) {
super(context, resourceId, objects);
rawLayout = resourceId;
}
@Override
public int getCount() {
return super.getCount();
}
@Override
public View getView(int position, View convertView, ViewGroup parent) {
if (convertView == null) {
LayoutInflater inflater = LayoutInflater.from(getContext());
convertView = inflater.inflate(rawLayout, parent, false);
holder = new ViewHolder();
holder.title1 = (TextView) convertView.findViewById(R.id.textView1);
convertView.setTag(holder);
} else {
holder = (ViewHolder) convertView.getTag();
}
holder.title1.setText("your text item");
return convertView;
}
private class ViewHolder {
TextView title1;
}
}
No comments:
Post a Comment