Реализация пользовательского ListView с вращателем и флажком. - PullRequest
1 голос
/ 14 июля 2011

Все, что я хочу сделать, это иметь ListView с textView и EITHER спиннер с правой стороны или флажок.У меня так много проблем с этим, это смешно.Кто-нибудь может мне помочь?: (.

Вот то, что у меня есть, которое само реализует счетчик. (Я создал R.array для планет. Так что он работает.)

public class AlarmOptions extends Activity {

    /** Called when the activity is first created. */
    @Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.main2);

        Spinner mySpinner = (Spinner) findViewById(R.id.spinner);
        ArrayAdapter adapter = ArrayAdapter.createFromResource(this, R.array.planets, android.R.layout.simple_spinner_item);
        adapter.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item);
        mySpinner.setAdapter(adapter);
        Spinner mySpinner1 = (Spinner) findViewById(R.id.spinner1);
        ArrayAdapter adapter1 = ArrayAdapter.createFromResource(this, R.array.planets1, android.R.layout.simple_spinner_item);
        adapter1.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item);
        mySpinner1.setAdapter(adapter1);
    }

Вот XMLфайл main2.xml

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:orientation="vertical"
android:padding="10dip"
android:layout_width="fill_parent"
android:layout_height="wrap_content">

<TextView
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:layout_marginTop="10dip"
android:text="Please select a planet:"
/>

<Spinner 
android:id="@+id/spinner"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:drawSelectorOnTop="true"
android:prompt="@string/planet_prompt"
/>
<Spinner 
android:id="@+id/spinner1"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:drawSelectorOnTop="true"
android:prompt="@string/planet_prompt1"
/>

</LinearLayout>

ПОЖАЛУЙСТА, ПОМОГИТЕ: '(

1 Ответ

2 голосов
/ 14 июля 2011

Что вы можете сделать: создать представление списка, как обычно.Затем создайте отдельный xml-файл с макетом, который вам нужен для каждого элемента в представлении списка.Это будет работать как для счетчика, так и для флажка, и его просто и легко создать.

Обратите внимание:

<...xml header stuff .../>

<LinearLayout android:id="@+id/ll"
    android:layout_width="fill_parent"
    android:layout_height="fill_parent">

    <Spinner (or Checkbox) android:id="@+id/spinny"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content">
    <TextView android:id="@+is/texty"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"/>
</LinearLayout>

А затем для своей деятельности вы создадите ListView, как обычнобыло бы.раздувать этот макет для каждого элемента ListView в методе getView(...args...) адаптера ListView.

...