2016-03-01 62 views
0

我试图在表中显示一个列表视图。我有很多不同的问题,但现在,再也没有错误信息,所以我不知道该怎么做。Listview不会出现在片段

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 – 2016-03-01 06:24:06

+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); 
} 

无论如何,谢谢你。 工程!