2016-03-01 1 views
0

Я пытаюсь показать listview в таблице. У меня было много разных проблем, но теперь больше нет сообщений об ошибках, поэтому я не знаю, что делать.Listview не отображается во фрагменте

ListView не показан. Не могли бы вы помочь мне, я новичок, и это мой первый ListView. Возможно, я делаю это совершенно неправильно. Просмотрел учебник, как добавить статические вещи к фрагменту, и я пытаюсь его адаптировать для просмотра списка.

спасибо.

Вот мой код для фрагмента списка следует:

import android.app.ListFragment; 
import android.os.Bundle; 
import android.support.annotation.Nullable; 
import android.support.v4.app.Fragment; 
import android.view.LayoutInflater; 
import android.view.View; 
import android.view.ViewGroup; 
import android.widget.AdapterView; 
import android.widget.ArrayAdapter; 
import android.widget.ListAdapter; 
import android.widget.ListView; 
import android.widget.Toast; 
import android.support.v4.app.Fragment; 

public class Fragment3 extends android.support.v4.app.ListFragment implements AdapterView.OnItemClickListener { 
ListView LView; 
View v; 
String[] values = {"test","test2","test3"}; 
@Nullable 
@Override 
public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) { 
    v = inflater.inflate(R.layout.fragement3_layout, null); 
    return v; 
} 
public void onActivityCreated(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState){ 
    ListAdapter adapter =new ArrayAdapter<String>(getActivity(), android.R.layout.simple_list_item_1,values); 
    setListAdapter(adapter); 
    getListView().setOnItemClickListener(this); 
} 

@Override 
public void onViewCreated(View view, @Nullable Bundle savedInstanceState) { 
    super.onViewCreated(view, savedInstanceState); 
} 
@Override 
public void onItemClick(AdapterView<?> parent, View view, int position, long id) { 

    Toast.makeText(getActivity(), "Item: " + position, Toast.LENGTH_SHORT) 
      .show(); 

} 
} 

А вот код Fragmentpageradapter

public class ViewPagerAdapter1 extends FragmentPagerAdapter { 

String[] tabtitlearray = {"One","Two","List"}; 
public ViewPagerAdapter1 (FragmentManager manager){ 
    super(manager); 

}

@Override 
public Fragment getItem(int position) { 
    switch(position) { 
     case 0: return new Fragment1(); 
     case 1: return new Fragment2(); 
     case 2: return new Fragment3(); 
    } 

    return null; 
}//festlegen was in welchem Fragment was angezeigt wird 

@Override 
public int getCount() { 

    return 3;//Anzahl der Tabs 
} 
public CharSequence getPageTitle(int position){ 
    return tabtitlearray[position]; 
} 
} 

И это активность

public class Welcome extends AppCompatActivity { 
Toolbar toolbar; 
ViewPager viewpager; 
TabLayout tabLayout; 

@Override 
protected void onCreate(Bundle savedInstanceState) { 
    super.onCreate(savedInstanceState); 
    setContentView(R.layout.activity_welcome); 
    toolbar = (Toolbar) findViewById(R.id.toolbar); 
    setSupportActionBar(toolbar); 

    viewpager = (ViewPager) findViewById(R.id.viewpager); 
    ViewPagerAdapter1 viewPagerAdapter1 = new ViewPagerAdapter1(getSupportFragmentManager()); 
    viewpager.setAdapter(viewPagerAdapter1); 

    tabLayout = (TabLayout) findViewById(R.id.tablelayout); 
    tabLayout.setTabGravity(TabLayout.GRAVITY_FILL); //Fuer das drehen damit TabLayout richtig ausgefuellt ist 
    tabLayout.setupWithViewPager(viewpager); 

    tabLayout.setOnTabSelectedListener(new TabLayout.OnTabSelectedListener() { 
     @Override 
     public void onTabSelected(TabLayout.Tab tab) { 
      viewpager.setCurrentItem(tab.getPosition()); 
     } 

     @Override 
     public void onTabUnselected(TabLayout.Tab tab) { 

     } 

     @Override 
     public void onTabReselected(TabLayout.Tab tab) { 

     } 
    }); 
} 
} 

Последнее, но не менее XML

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

<ListView 
    android:layout_width="match_parent" 
    android:layout_height="match_parent" 
    android:id="@id/android:list" 
    android:layout_centerVertical="true" 
    android:layout_alignParentStart="true" /> 
</RelativeLayout> 

Извините, если этот путь совершенно неправильно. Я просто пытаюсь понять, как работают разные основы.

Буду рад, если кто-нибудь мне поможет.

Спасибо!

+0

Listview не должен иметь ширину или ширину. Для wrap_content –

+0

Спасибо, но это, похоже, не проблема. Он также не работает с «match_parent». Правильно ли ArrayAdapter? Я думаю, что информация не добавляется в список, но ошибки нет, она просто пустая. Я думаю, что есть что-то не так с моей логикой в ​​коде. – Kilimanscharo

+0

Статические показывают только текстовое поле, которое отлично работает! – Kilimanscharo

ответ

0

Проблема решена. Ошибка onActivityCreated (...) была неправильной.

public void onActivityCreated(Bundle savedInstanceState) { 
    super.onActivityCreated(savedInstanceState); 
    ListAdapter adapter =new ArrayAdapter<String>(getActivity(),android.R.layout.simple_list_item_1,values); 
    setListAdapter(adapter); 
    getListView().setOnItemClickListener(this); 
} 

В любом случае, спасибо. Работает!

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

  • Нет связанных вопросов^_^