我花了兩天時間試圖排序此問題。如果任何人能夠幫助,我會大力讚賞。自定義列表查看與每個行中的兩個按鈕
我想要實現:
有一個ListView,因此玩家可以通過文本字段(玩家名)添加新條目(播放器),然後提交按鈕。在ListView的每個字段中,我顯示玩家名稱,然後顯示兩個ImageButton。一個帶有男性符號,另一個帶有女性符號。男性符號默認被切換,並且用戶可以通過切換男性按鈕或女性按鈕來將玩家設置爲男性或女性。最後,一旦用戶移動到下一個屏幕(新活動),應用程序將把玩家姓名和附加性保存到某種形式的存儲中,並繼續下一個活動。
我所取得的成就:
我有一個簡單的數組適配器,它在玩家添加新的球員姓名的名單,我在其上運行的notifyDataSetChanged()。該適配器也被設置爲使用自定義行佈局文件。裏面的佈局文件,它看起來像這樣:
<?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="wrap_content">
<RelativeLayout android:layout_height="wrap_content"
android:layout_width="fill_parent" android:id="@+id/relativeLayout1" android:layout_marginTop="5dp">
<TextView android:layout_width="wrap_content"
android:layout_height="wrap_content" android:id="@+id/playerName"
android:layout_centerVertical="true" android:text="Derp" android:textStyle="bold" android:layout_marginLeft="5dp" android:textSize="22dp" android:textColor="@color/male_blue"></TextView>
<ImageButton android:layout_height="60dp"
android:layout_width="60dp" android:onClick="maleClickHandler"
android:src="@drawable/male_icon_settings" android:id="@+id/buttonA" android:layout_alignParentRight="true" android:layout_marginRight="65dp"></ImageButton>
<ImageButton android:onClick="femaleClickHandler"
android:layout_height="60dp" android:layout_width="60dp" android:id="@+id/buttonB"
android:layout_alignParentRight="true" android:layout_marginRight="5dp" android:src="@drawable/female_icon_settings"></ImageButton>
</RelativeLayout>
</LinearLayout>
每行參考類文件方法的兩個按鈕。這裏是我的這段代碼:
public void maleClickHandler(View v) {
RelativeLayout vwParentRow = (RelativeLayout) v.getParent();
ImageButton maleButton = (ImageButton) vwParentRow.getChildAt(1);
maleButton.setImageDrawable(getResources().getDrawable(
R.drawable.male_icon_selected));
vwParentRow.refreshDrawableState();
}
public void femaleClickHandler(View v) {
RelativeLayout vwParentRow = (RelativeLayout) v.getParent();
ImageButton femaleButton = (ImageButton) vwParentRow.getChildAt(2);
femaleButton.setImageDrawable(getResources().getDrawable(
R.drawable.female_icon_selected));
vwParentRow.refreshDrawableState();
}
我還沒有實現這兩個按鈕之間的相互連接,只允許一個被激活的時間,或者甚至untoggle之一,因爲我覺得我可能會完全採取錯誤的做法。
問題:
在添加新條目列表中,後切換一個和/或其他男/女按鈕,事情就真的越野車,和男/女切換圖標可能會移動因爲它應該連同附加的玩家字符串,或者更有可能的是,那些切換的將保持在第一行(列表的陣列位置0),或者甚至移動到第二個列表位置,並且將它們自己複製到切換到行上以上。
如何幫助...?
我重視我下面的屏幕的圖像,從仿真器,以幫助說明我的觀點 Screenshot!
我認爲我可能需要使用某種形式的自定義適配器的;我在這個問題上做了很多的研究,但是我找不到與我想要達成的目標相關的任何事情,所以如果你能指出我正確的方向,甚至可以嘗試將最基本的解決方案放在一起問題類型,我將非常感激。
最後,當我得到這個工作時,哪種存儲形式最適合存儲玩家名字和他們的性別?我希望用戶能夠在退出應用程序並重新啓動後保留播放列表。
感謝您的幫助! :)
謝謝,我懷疑我不得不按照這些方法做些事情;感謝你澄清這個美麗的:) –