Mutiple ListView in one XML. Is it possible?
I wanted to display, mutiple ListViews side by side(horizontal) and which are each scrollable on their own that is scrolling of one doesn't change the scroll position of the others and also to extend it, instead of the regular checkbuttons from Android I would like to use my im开发者_如何学Goages.
P.S: I use HoneyComb here.
Here is the sample screenshot of what I wanted.
Any help of how should I proceed would be really appreciated. Here is my xml for the view.
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:orientation="vertical" android:layout_width="fill_parent" android:layout_height="wrap_content">
<LinearLayout android:orientation="horizontal" android:layout_width="match_parent" android:layout_height="wrap_content" android:splitMotionEvents="true">
<ListView android:id="@+id/list1" android:layout_width="0dip" android:layout_height="match_parent" android:layout_weight="1" />
<ListView android:id="@+id/list2" android:layout_width="0dip" android:layout_height="match_parent" android:layout_weight="1" />
<ListView android:id="@+id/list3" android:layout_width="0dip" android:layout_height="match_parent" android:layout_weight="1" />
</LinearLayout>
Java Code:
public class DesignMain extends Activity {
/** Called when the activity is first created. */
LazyAdapter dealAdapter;
static ViewHolder holder;
ListView list,list1,list2;
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
list=(ListView)findViewById(R.id.userdeal);
list1=(ListView)findViewById(R.id.userdeal1);
list2=(ListView)findViewById(R.id.userdeal2);
dealAdapter = new LazyAdapter(DesignMain.this,sCheeseStrings);
list.setAdapter(dealAdapter);
list1.setAdapter(dealAdapter);
list2.setAdapter(dealAdapter);
}
class LazyAdapter extends BaseAdapter {
LayoutInflater mInflater;
String name;
String TAG = "MultiLine";
int i = -1;
int j = -1;
int k = -1;
String[] VAL1,VAL2,VAL3,VAL4,VAL5,VAL6,VAL7;
public LazyAdapter(Context context, String[] value1) {
try {
mInflater = LayoutInflater.from(context);
VAL1 = value1;
} catch (Exception e) {
Log.v(TAG, "dom" + e);
}
}
public int getCount() {
return VAL1.length;
}
public Object getItem(int arg0) {
return arg0;
}
public long getItemId(int arg0) {
return arg0;
}
public View getView(int position, View convertView, ViewGroup arg2) {
if (convertView == null) {
convertView = mInflater.inflate(R.layout.list, null);
holder = new ViewHolder();
holder.text1 = (TextView) convertView.findViewById(R.id.listtext);
convertView.setTag(holder);
} else {
holder.text1 = (TextView) convertView.findViewById(R.id.listtext);
}
holder.text1.setText(VAL1[position]);
return convertView;
}
}
static class ViewHolder {
TextView text1, text2, text3,text4,text_time;
ImageView icon;
}
static final String[] sCheeseStrings = {"Hushallsost", "Iberico", "Idaho Goatster",
"Idiazabal", "Il Boschetto al Tartufo", "Ile d'Yeu", "Isle of Mull", "Jarlsberg",
"Jermi Tortes", "Jibneh Arabieh", "Jindi Brie", "Jubilee Blue", "Juustoleipa",
"Kadchgall", "Kaseri", "Kashta", "Kefalotyri"
};
static final String[] sCheeseStrings1 = {"Cabecou", "Caboc", "Cabrales", "Cachaille", "Caciocavallo", "Caciotta",
"Caerphilly", "Cairnsmore", "Calenzana", "Cambazola", "Camembert de Normandie",
"Canadian Cheddar", "Canestrato", "Cantal", "Caprice des Dieux", "Capricorn Goat",
"Capriole Banon", "Carre de l'Est", "Casciotta di Urbino", "Cashel Blue", "Castellano"
};
static final String[] sCheeseStrings2 = {"Abbaye de Belloc", "Abbaye du Mont des Cats", "Abertam", "Abondance", "Ackawi",
"Acorn", "Adelost", "Affidelice au Chablis", "Afuega'l Pitu", "Airag", "Airedale",
"Aisy Cendre", "Allgauer Emmentaler", "Alverca", "Ambert", "American Cheese",
"Ami du Chambertin", "Anejo Enchilado", "Anneau du Vic-Bilh", "Anthoriro", "Appenzell"
};
}
Main.xml
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:orientation="vertical" android:layout_width="wrap_content"
android:layout_height="fill_parent">
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:orientation="horizontal"
android:layout_width="wrap_content" android:layout_height="fill_parent">
<ListView android:id="@+id/userdeal" android:listSelector="@drawable/list1"
android:cacheColorHint="#00000000" android:layout_width="120dip"
android:layout_height="fill_parent" />
<ListView android:id="@+id/userdeal1" android:listSelector="@drawable/list1"
android:cacheColorHint="#00000000" android:layout_width="100dip"
android:layout_height="fill_parent" />
<ListView android:id="@+id/userdeal2" android:listSelector="@drawable/list1"
android:cacheColorHint="#00000000" android:layout_width="100dip"
android:layout_height="fill_parent" />
</LinearLayout>
List.xml:
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="fill_parent"
android:layout_height="fill_parent">
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:orientation="vertical" android:layout_width="fill_parent"
android:layout_height="fill_parent" android:layout_marginLeft="10dip" android:id="@+id/lay_txt">
<TextView android:id="@+id/listtext" android:textSize="15sp"
android:textColor="#FFFFFF"
android:layout_width="wrap_content" android:layout_height="20dip"
android:ellipsize="end" android:layout_marginTop="15dip" android:text="Card No" />
<RadioButton android:id="@+id/select_card" android:layout_width="wrap_content"
android:layout_height="wrap_content" android:layout_alignParentRight="true"
android:focusable="false"/>
</RelativeLayout>
精彩评论