Многочисленный ListView в одном XML.Является ли это возможным? - PullRequest
0 голосов
/ 19 марта 2011

Я хотел бы отобразить, несколько ListViews бок о бок (по горизонтали), каждый из которых можно прокручивать самостоятельно, то есть прокрутка одного не меняет положение прокрутки других, а также расширяет его вместо обычных кнопок-флажков.из Android я хотел бы использовать свои изображения.

PS: я использую HoneyComb здесь.

Вот пример скриншота того, что я хотел.

Любая помощь, как следуетЯ продолжаю был бы очень признателен.Вот мой xml для представления.

<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>

enter image description here

1 Ответ

2 голосов
/ 19 марта 2011

Java-код:

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>

...