我有一个listview,它在onCreate()方法中填充。列表视图中的每个项目都采用TextView Button Button Button
格式。我想要做的是当用户点击TextView时,一个不同的.xml布局被加载到listview中的那个位置,该位置扩展了当前显示的细节。我知道我应该使用onClickListener但是我不知道如何编写我的适配器,在那个位置应该加载一个单独的listview。
CURRENT ADAPTER
ListAdapter adapter = new SimpleAdapter(
AllGameslistActivity.this, gamesList,
R.layout.list_item, new String[]{TAG_GID,
TAG_TEAMS, TAG_HOME, TAG_DRAW, TAG_AWAY},
new int[]{R.id.gid, R.id.Teams, R.id.homewinspecial, R.id.drawspecial, R.id.awaywinspecial});
// updating listview
setListAdapter(adapter);
目前的XML项目布局
<?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="horizontal" >
<!-- Product id (pid) - will be HIDDEN - used to pass to other activity -->
<TextView
android:id="@+id/gid"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:visibility="gone"/>
<!-- Name Label -->
<TextView
android:id="@+id/Teams"
android:layout_width="135dp"
android:layout_gravity = "center_vertical"
android:layout_height="wrap_content"
android:textSize="14sp"
android:textStyle="bold" />
<Space
android:layout_width="wrap_content"
android:layout_height="match_parent" />
<Button
android:layout_width="70dp"
android:layout_height="wrap_content"
android:text="1.40"
android:textColor="#000000"
android:textSize="18sp"
android:onClick="SelectBet"
android:id="@+id/homewinspecial"
android:layout_weight="1"/>
<Button
android:layout_width="70dp"
android:layout_height="wrap_content"
android:text="3.40"
android:textColor="#000000"
android:textSize="18sp"
android:onClick="SelectBet"
android:id="@+id/drawspecial"
android:layout_weight="1"/>
<Button
android:layout_width="70dp"
android:layout_height="wrap_content"
android:text="3.60"
android:textColor="#000000"
android:textSize="18sp"
android:onClick="SelectBet"
android:id="@+id/awaywinspecial"
android:layout_weight="1"/>
扩展的XML布局
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:orientation="vertical" android:layout_width="fill_parent"
android:layout_height="fill_parent">
<ScrollView
android:layout_width="fill_parent"
android:layout_height="fill_parent">
<LinearLayout
android:layout_width="fill_parent"
android:orientation="vertical"
android:layout_height="fill_parent">
<LinearLayout
android:layout_width="fill_parent"
android:layout_height="wrap_content">
<TextView
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:text = "Barcelona - Sevilla"
android:gravity="center"
android:textSize="20sp"
android:textStyle="bold"/>
</LinearLayout>
<LinearLayout
android:layout_width="fill_parent"
android:layout_height="20dp">
<TextView
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:text = "Match Betting"
android:gravity="left"
android:textStyle="bold"
android:textSize="15sp"/>
</LinearLayout>
<LinearLayout
android:layout_width="fill_parent"
android:orientation="horizontal"
android:weightSum="100"
android:layout_height="wrap_content">
<TextView
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_weight="33"
android:gravity="center"
android:text = "Barcelona"
android:textSize="15sp"/>
<TextView
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_weight="33"
android:gravity="center"
android:text = "Draw"
android:textSize="15sp"/>
<TextView
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_weight="33"
android:gravity="center"
android:text = "Sevilla"
android:textSize="15sp"/>
</LinearLayout>
<LinearLayout
android:layout_width="fill_parent"
android:orientation="horizontal"
android:weightSum="100"
android:layout_height="wrap_content">
<Button
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_weight="33"
android:text="1.55"/>
<Button
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_weight="33"
android:text="1.55"/>
<Button
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_weight="33"
android:text="1.55"/>
</LinearLayout>
<LinearLayout
android:layout_width="fill_parent"
android:layout_height="20dp">
<TextView
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:text = "Match and Both Teams to Score"
android:gravity="left"
android:textStyle="bold"
android:textSize="15sp"/>
</LinearLayout>
<LinearLayout
android:layout_width="fill_parent"
android:orientation="horizontal"
android:weightSum="100"
android:layout_height="wrap_content">
<TextView
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_weight="33"
android:gravity="center"
android:text = "Barcelona"
android:textSize="15sp"/>
<TextView
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_weight="33"
android:gravity="center"
android:text = "Draw "
android:textSize="15sp"/>
<TextView
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_weight="33"
android:gravity="center"
android:text = "Sevilla"
android:textSize="15sp"/>
</LinearLayout>
<LinearLayout
android:layout_width="fill_parent"
android:orientation="horizontal"
android:weightSum="100"
android:layout_height="wrap_content">
<Button
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_weight="33"
android:text="2.70"/>
<Button
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_weight="33"
android:text="4.00"/>
<Button
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_weight="33"
android:text="7.00"/>
</LinearLayout>
<LinearLayout
android:layout_width="fill_parent"
android:layout_height="20dp">
<TextView
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:text = "Both Teams to Score"
android:gravity="left"
android:textStyle="bold"
android:textSize="15sp"/>
</LinearLayout>
<LinearLayout
android:layout_width="fill_parent"
android:orientation="horizontal"
android:weightSum="100"
android:layout_height="wrap_content">
<TextView
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_weight="50"
android:gravity="center"
android:text = "Yes"
android:textSize="15sp"/>
<TextView
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_weight="50"
android:gravity="center"
android:text = "No"
android:textSize="15sp"/>
</LinearLayout>
<LinearLayout
android:layout_width="fill_parent"
android:orientation="horizontal"
android:weightSum="100"
android:layout_height="wrap_content">
<Button
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_weight="50"
android:text="1.65"/>
<Button
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_weight="50"
android:text="2.10"/>
</LinearLayout>
<LinearLayout
android:layout_width="fill_parent"
android:layout_height="20dp">
<TextView
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:text = "Over/Under Goals"
android:gravity="left"
android:textStyle="bold"
android:textSize="15sp"/>
</LinearLayout>
<LinearLayout
android:layout_width="fill_parent"
android:orientation="horizontal"
android:weightSum="100"
android:layout_height="wrap_content">
<TextView
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_weight="50"
android:gravity="center"
android:text = "Over"
android:textSize="15sp"/>
<TextView
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_weight="50"
android:gravity="center"
android:text = "Under"
android:textSize="15sp"/>
</LinearLayout>
<LinearLayout
android:layout_width="fill_parent"
android:orientation="horizontal"
android:weightSum="100"
android:layout_height="wrap_content">
<LinearLayout
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_weight="50"
android:weightSum="100"
android:orientation="vertical"
android:layout_gravity="center">
<Button
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:text="0.5 - 1.30"/>
<Button
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:text="1.5 - 1.50"/>
<Button
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:text="2.5 - 1.80"/>
<Button
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:text="3.5 - 3.30"/>
<Button
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:text="4.5 - 9.30"/>
</LinearLayout>
<LinearLayout
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_weight="50"
android:weightSum="100"
android:orientation="vertical"
android:layout_gravity="center">
<Button
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:text="0.5 - 9.00"/>
<Button
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:text="1.5 - 3.20"/>
<Button
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:text="2.5 - 2.60"/>
<Button
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:text="3.5 - 2.20"/>
<Button
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:text="4.5 - 1.30"/>
</LinearLayout>
</LinearLayout>
<LinearLayout
android:layout_width="fill_parent"
android:layout_height="20dp">
<TextView
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:text = "Double Chance"
android:gravity="left"
android:textStyle="bold"
android:textSize="15sp"/>
</LinearLayout>
<LinearLayout
android:layout_width="fill_parent"
android:orientation="horizontal"
android:weightSum="100"
android:layout_height="wrap_content">
<TextView
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_weight="33"
android:gravity="center"
android:text = "Barcelona or Draw"
android:textSize="15sp"/>
<TextView
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_weight="33"
android:gravity="center"
android:text = "Sevilla or Draw"
android:textSize="15sp"/>
<TextView
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_weight="33"
android:gravity="center"
android:text = "Barcelona or Sevilla"
android:textSize="15sp"/>
</LinearLayout>
<LinearLayout
android:layout_width="fill_parent"
android:orientation="horizontal"
android:weightSum="100"
android:layout_height="wrap_content">
<Button
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_weight="33"
android:text="1.55"/>
<Button
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_weight="33"
android:text="1.55"/>
<Button
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_weight="33"
android:text="1.55"/>
</LinearLayout>
</LinearLayout>
</ScrollView>
答案 0 :(得分:0)
使用BaseAdapter。它为项目视图提供了更强大的控制功能。在public abstract View getView (int position, View convertView, ViewGroup parent)
范围内,您可以返回任何视图。