Я пытаюсь показать 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>
Извините, если этот путь совершенно неправильно. Я просто пытаюсь понять, как работают разные основы.
Буду рад, если кто-нибудь мне поможет.
Спасибо!
Listview не должен иметь ширину или ширину. Для wrap_content –
Спасибо, но это, похоже, не проблема. Он также не работает с «match_parent». Правильно ли ArrayAdapter? Я думаю, что информация не добавляется в список, но ошибки нет, она просто пустая. Я думаю, что есть что-то не так с моей логикой в коде. – Kilimanscharo
Статические показывают только текстовое поле, которое отлично работает! – Kilimanscharo