Tôi đã dành hai ngày để cố gắng sắp xếp vấn đề này. Nếu bất cứ ai có thể giúp tôi sẽ được đánh giá ồ ạt.Chế độ xem danh sách tùy chỉnh với hai nút trong mỗi hàng
Những gì tôi đang cố gắng để đạt được:
Có một ListView, theo đó người chơi có thể thêm các mục mới (người chơi), thông qua một trường văn bản (đối với tên người chơi), và sau đó một nút gửi. Trong mỗi trường của ListView, tôi hiển thị tên người chơi và sau đó là hai ImageButton. Một với một biểu tượng nam, và một với một biểu tượng nữ. Biểu tượng nam được bật theo mặc định và người dùng có thể đặt trình phát là nam hoặc nữ bằng cách bật hoặc nút nam hoặc nút nữ. Cuối cùng, khi người dùng chuyển sang màn hình tiếp theo (hoạt động mới), ứng dụng sẽ lưu tên người chơi và giới tính đính kèm vào một số hình thức lưu trữ và tiến hành hoạt động tiếp theo.
Những gì tôi đã đạt được:
Tôi có một bộ chuyển đổi mảng đơn giản, mà khi người chơi thêm một tên người chơi mới vào danh sách, tôi chạy notifyDataSetChanged() trên đó. Bộ điều hợp cũng được đặt để sử dụng tệp bố cục hàng tùy chỉnh. Bên trong tệp bố cục, có vẻ như sau:
<?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>
Hai nút trên mỗi hàng tham chiếu đến phương thức trong tệp lớp. Đây là mã của tôi cho điều này:
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();
}
tôi chưa thực hiện bất kỳ liên kết nối giữa hai nút này, chỉ cho phép một để được hoạt động tại một thời điểm, hoặc một đến thậm chí untoggle, vì tôi nghĩ tôi có thể đang sử dụng sai phương pháp hoàn toàn.
Vấn đề:
Sau khi thêm các mục mới vào danh sách, SAU Toggling một và/hoặc con đực khác/nút nữ, mọi thứ trở nên thực sự buggy, và các nam/nữ toggled biểu tượng có thể di chuyển vì nó nên, cùng với chuỗi trình phát đính kèm, hoặc nhiều khả năng, những người được bật sẽ ở trên hàng đầu tiên đó (vị trí mảng 0 của danh sách) hoặc thậm chí di chuyển vào vị trí danh sách thứ hai và tự sao chép bản thân như đang được chuyển sang hàng ở trên.
Làm cách nào bạn có thể trợ giúp ...?
Tôi có kèm theo hình ảnh bên dưới của màn hình của tôi, từ các giả lập, để giúp minh họa điểm của tôi Screenshot!
Tôi nghĩ rằng tôi có thể cần phải sử dụng một số hình thức của bộ chuyển đổi tùy chỉnh; Tôi đã đọc rất nhiều về chủ đề này, nhưng tôi không thể tìm thấy bất cứ điều gì liên quan đến những gì tôi đang cố gắng đạt được, vì vậy nếu bạn có thể chỉ cho tôi đúng hướng, hoặc thậm chí cố gắng kết hợp giải pháp cơ bản nhất loại vấn đề, tôi sẽ rất biết ơn.
Cuối cùng, khi tôi làm việc này, hình thức lưu trữ nào là tốt nhất để lưu trữ tên người chơi và giới tính của họ? Tôi muốn người dùng có thể giữ danh sách người chơi sau khi họ thoát khỏi ứng dụng và khởi động lại nó.
Cảm ơn bạn đã trợ giúp! :)
Cảm ơn bạn, tôi nghi ngờ tôi phải làm điều gì đó dọc theo những dòng này; Cảm ơn bạn đã làm rõ điều này :) –