2015-01-20 2 views
-2

Мне удалось создать TabAdapter с пейджером (прокручивание вкладок), который реализует ListFragment для каждого. Затем я вызвал свои предметы через строки. Это прекрасно работает. Но ListView здесь реализует простой текст. Мой вопрос: как реализовать пользовательский ListView с настраиваемыми рядами (текст и изображение)? Вот мой код:Вкладки и пейджер с пользовательским списком ListView

.MainActivity

@Override 
protected void onCreate(Bundle savedInstanceState) { 
    super.onCreate(savedInstanceState); 

    pager = new ViewPager(this); 
    pager.setId(R.id.pager); 
    setContentView(pager); 

    final ActionBar bar = getActionBar(); 
    bar.setNavigationMode(ActionBar.NAVIGATION_MODE_TABS); 

    mTabsAdapter = new TabsAdapter(this, pager); 
    mTabsAdapter.addTab(bar.newTab().setText("Grundlagen"), ListViewTabGrundlagen.class, null); 
    mTabsAdapter.addTab(bar.newTab().setText("Anästhesie"), ListViewTabAnaesthesie.class, null); 

} 

ListViewTabGrundlagen

public class ListViewTabGrundlagen extends ListFragment { 
    String[] list_items; 

    public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState){ 
     View rootView = inflater.inflate(R.layout.list, container, false); 
     list_items = getResources().getStringArray(R.array.listGrundlagen); 
     setListAdapter(new ArrayAdapter<String>(getActivity(), android.R.layout.simple_list_item_1, list_items)); 

     return rootView; 
    } 
} 

list.xml

<?xml version="1.0" encoding="utf-8"?> 
<ListView xmlns:android="http://schemas.android.com/apk/res/android" 
    android:id="@android:id/list" 
    android:layout_width="match_parent" 
    android:layout_height="match_parent" > 


</ListView> 

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" > 

    <android.support.v4.view.ViewPager 
     android:layout_width="match_parent" 
     android:layout_height="match_parent" 
     android:id="@+id/pager" /> 

</RelativeLayout> 

Любое обходное решение? Большое спасибо!

+0

Напишите пользовательский адаптер для своего списка в соответствии с макетом элемента списка. – akash93

ответ

0

Вам необходимо найти пользовательские адаптеры, вы можете начать с расширения BaseAdaper или ArrayAdapter и переопределения соответствующих методов в классах.

+0

Но как я могу расширить BaseAdapter, пока активность уже расширяет ListFragment? –

+0

Вам необходимо создать класс адаптера, расширив класс BaseAdapter, а затем вы можете установить объект адаптера в свой класс представления списка, вызвав метод setListAdapter(). –

Смежные вопросы