android ListView item裡動態增加多個LinearLayout的問題

來源:互聯網
上載者:User

 這是項目的源碼

http://download.csdn.net/detail/xu_song/5312262

有興趣的話,可以嘗試著去解決

 

我想實現的功能就是在listView 的item加入多個LinearLayout,但是也不知道多少個,這個值是根據setAdapter的一個ArrayList對象取出來的。

(比如列表第一個item加入一個,第二個item加入二個,第三item加入三個)

這個是ListView item的布局

<?xml version="1.0" encoding="utf-8"?><LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"    android:layout_width="fill_parent"    android:layout_height="fill_parent"    android:orientation="vertical" >    <LinearLayout                android:layout_width="fill_parent"        android:layout_height="wrap_content"        android:orientation="vertical" >        <LinearLayout            android:layout_width="fill_parent"            android:layout_height="wrap_content"            android:background="#ffffff"            android:orientation="horizontal" >            <TextView                android:id="@+id/nameTV"                android:layout_width="fill_parent"                android:layout_height="50dip"                android:layout_weight="1"                android:gravity="center"                android:text="111"                android:textColor="#000000"                android:textSize="18sp" />            <TextView                android:id="@+id/image"                android:layout_width="30dip"                android:layout_height="30dip"                android:layout_marginLeft="15dip"                android:layout_marginRight="15dip"                android:background="@drawable/soucang" />        </LinearLayout>        <LinearLayout            android:id="@+id/layout"            android:layout_width="fill_parent"            android:layout_height="wrap_content"             android:orientation="vertical">        </LinearLayout>    </LinearLayout></LinearLayout>

大家可能看到了 有一個最後一個id 為了layout    linearLayout是空的,對這就等下要動態加入的view,放在這個LinearLayout裡面。

 

然後分別要對每個item的每個 加入的layout進行監聽,分別做一些處理。

現在我在listView adapter裡面的getView來動態添加 view ,layout.add(view[i]);

 

public View getView(final int position, View convertView, ViewGroup parent) {// TODO Auto-generated method stub\ListDTO dto = list.get(position);System.out.println("item position-----------"+position);//if(convertView == null) {convertView = (View)inflater.inflate(R.layout.list, null);//}TextView nameTV = (TextView) convertView.findViewById(R.id.nameTV);TextView image = (TextView) convertView.findViewById(R.id.image);LinearLayout layout = (LinearLayout) convertView.findViewById(R.id.layout);/*System.out.println("hash---"+AndroidTestActivity.hs);System.out.println("id---"+dto.getId());*/if(AndroidTestActivity.hs.contains(dto.getId())) {System.out.println("position------"+position);image.setBackgroundResource(R.drawable.soucang_2);}else {image.setBackgroundResource(R.drawable.soucang);}nameTV.setText(dto.getContent());if(dto.getLists() != null) {System.out.println("getLists().size()---"+dto.getLists().size());for(int i=0; i<dto.getLists().size(); i++) {view = new View[dto.getLists().size()];view[i] = (View)inflater.inflate(R.layout.layout_inflate, null);TextView tv = (TextView) view[i].findViewById(R.id.tv);tv.setText(dto.getLists().get(i));index  = i;view[i].setId(index);System.out.println("i------");view[i].setOnClickListener(new OnClickListener() {public void onClick(View v) {// TODO Auto-generated method stubSystem.out.println(view[index].getId());Toast.makeText(mContext, "第"+position+"組 第"+index+"行", Toast.LENGTH_SHORT).show();}});System.out.println("--=====---java");layout.addView(view[i]);}}return convertView;}

 

不知道怎麼取到動態加入的view在每個item的位置。(就拿列表的第二項來說,動態加入了二項,一個是thinking in java ,一個是java design parttner,

我分別要對這兩項的點擊事件做處理,可是不知道怎麼得到點擊到底是第列表第二項 thinking in java ,還是java design parttner)

大家看了之後,有什麼方法可以實現告訴我,或者回複,大家共同交流,謝謝。

 

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.