2016-08-01 5 views

ответ

1

код выглядит немного уродливым, но после того, как вы понимаете, вы можете сделать это так, как вам нравится.

1) Создайте макет с помощью TextView так, как вы хотите отображать. пример /res/layout/item_layout.xml

<LinearLayout 
    xmlns:android="http://schemas.android.com/apk/res/android" 
    android:orientation="vertical" 
    android:layout_width="match_parent" 
    android:layout_height="match_parent"> 

<TextView 
    android:layout_width="match_parent" 
    android:layout_height="match_parent" 
    android:gravity="center" 
    android:textAppearance="?android:attr/textAppearanceLarge" 
    android:text="Large Text" 
    android:id="@+id/text_view_at_custom_layout" 
    android:layout_gravity="center_horizontal"/> 

PS: Обратите внимание, что я использовал

android:gravity="center" 

2) Создание списка с данными (в данном случае String)

String strs[] = {"Good","Bag","Cute","Ugly","Hot","Cold","ETC"}; 
// mList i declare it global to use it on the inner class 
mList = Arrays.asList(strs); 

3) Создайте класс, расширяющий ArrayAdapter Я сделал внутренний класс wi th default Constructor уведомляет, какие аргументы передают super();

private class MyCustomAdapter extends ArrayAdapter<String> 
{ 
    public MyCustomAdapter() 
    { 
     super(MainActivity.this,R.layout.item_layout,mList); 
    } 

    @Override 
    public View getView(int position, View convertView, ViewGroup parent) 
    { 
     if(convertView==null) convertView = getLayoutInflater().inflate(R.layout.item_layout,parent,false); 

     TextView textViewAtCustomLayout = (TextView)convertView.findViewById(R.id.text_view_at_custom_layout); 
     textViewAtCustomLayout.setText(mList.get(position)); 

     return convertView; 
    } 

4) Теперь установите адаптер к ListView

listView.setAdapter(new MyCustomAdapter()); 

, если вам не нравится, конструктор по умолчанию, вы можете создать конструктор с аргументами и передать его здесь.

и здесь полный код

https://github.com/adliano/SimpleListView

и это, как выглядеть

screenshot_simple_listview

я надеюсь, что это поможет!