Стилизация списка Android с помощью адаптера списка массивов

Я написал код для создания списка из некоторых массивов, показанных ниже! код работает правильно, и результат соответствует ожиданиям!

обновление для людей с такой же проблемой: хорошее руководство по пользовательскому списку

MainActivity.java

public class MainActivity extends Activity {

 @Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_main);

   ListView listView1 = (ListView) findViewById(R.id.listView1);

    String[] items = { "some", "fancy", "items", "to", "show" };

    ArrayAdapter<String> adapter = new ArrayAdapter<String>(this,
                R.layout.listitem, items);

    listView1.setAdapter(adapter);
   }

activity_main.xml

   <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
   xmlns:tools="http://schemas.android.com/tools"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
   tools:context=".MainActivity" >

  <ListView 
    android:id="@+id/listView1" 
    android:layout_height="fill_parent"
    android:layout_width="fill_parent" />

   </RelativeLayout>

listview.xml

<?xml version="1.0" encoding="utf-8"?>
<TextView xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="fill_parent"
android:layout_height="wrap_content" 
android:textSize="20sp"
android:padding="22dp"
android:gravity="center_horizontal"
/>

чего я хочу добиться?

  1. измените цвет и шрифт текста в каждом элементе списка на другой... и выполните какое-либо задание, нажав на них...

  2. также возможно получить другой список в том же списке, например. если я нажимаю на элемент списка, он снова показывает мне список (своего рода подсписок) с разными элементами списка в том же действии (или на экране). И при нажатии на элементы подсписка можно выполнить какое-то действие.

Подробные ответы приветствуются, поскольку я новичок в разработке для Android. Спасибо!


person user1979237    schedule 16.01.2013    source источник
comment
Вы говорите о Customized ListView?   -  person Sahil Mahajan Mj    schedule 16.01.2013
comment
да! listView, который можно легко настроить и который работает с arrayadapter   -  person user1979237    schedule 16.01.2013
comment
посмотри мой ответ.   -  person Sahil Mahajan Mj    schedule 16.01.2013
comment
если ›››Настраиваемый ListView.? ссылка битая!   -  person user1979237    schedule 16.01.2013
comment
В комментарии.? Нет, это не ссылка, я предоставил ссылку на нее в своем ответе ниже.   -  person Sahil Mahajan Mj    schedule 16.01.2013


Ответы (4)


1.change color and font of the text in each list item to a different one..and do some task on 
  tapping on them...
  • Создайте пользовательский адаптер, переопределите getVIew() этого адаптера и внесите в него изменения в цвете и тексте.
  • переопределить onItemClick() для вашего ListView. для выполнения события click для элемента списка.

Теперь

2. also is it possible to get another listview inside the same listview eg. if I click on a
   list item it again shows me a list (kind of a sub list) with different list items on that
   same activity(or screen).and some action could be done on tapping the sub list items.

3. what are my other list styling options..
  • Это Expandable ListView Просто посмотрите на ссылку за дополнительной информацией.

И учебное пособие.

person user370305    schedule 16.01.2013
comment
не могли бы вы предоставить простой пример кода или направить меня на сайт, содержащий этот образец! поиск в гугле не дает мне понятных вещей - person user1979237; 16.01.2013

Вы можете изучить пользовательский ArrayAdapter, как показано здесь http://www.vogella.com/articles/AndroidListView/article.html

Это позаботится о первом и третьем вопросах. Что касается второго, это невозможно с реализацией ListView по умолчанию, но есть библиотеки, которые позволяют создавать раскрывающиеся элементы списка.

person Paul Thompson    schedule 16.01.2013

Для 1-го вопроса вы можете использовать ответ paulthom12345.

2-й вопрос: вы должны использовать exapandableListView

для получения более подробной информации см.: Android ExpandableListView — поиск руководства

3-й вопрос неконструктивный и очень расплывчатый. Пожалуйста, отредактируйте вопрос и объясните более подробно.

person Shrikant Ballal    schedule 16.01.2013

  1. Используйте настраиваемый вид списка для Это.

  2. Не совсем возможно иметь список внутри списка. Вместо него используйте расширяемый список< /а>

  3. Взгляните на Android Listview с разным макетом для каждой строки

person Sahil Mahajan Mj    schedule 16.01.2013