2014-05-19 4 views
0

은 현재 문자열 배열로 채워 져야하는 ViewPager 부분에 있지만 완전히 비어 있습니다.ViewPager 프래그먼트의 ListView가 비어 있습니다.

public class DirectoryFragment extends Fragment { 

    @Override 
    public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) { 
     View rootView = inflater.inflate(R.layout.fragment_directory, container, false); 

     ListView listView = (ListView) rootView.findViewById(R.id.list); 

     String[] values = new String[] {"Viewer 1", 
             "Viewer 2", 
             "Viewer 3" 
             }; 

     ArrayAdapter<String> adapter = new ArrayAdapter<String>(getActivity(), android.R.layout.simple_list_item_1, android.R.id.text1, values); 

     listView.setAdapter(adapter); 

     return rootView; 
    } 

} 

조각에 대한 XML :

<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" 
    android:layout_width="match_parent" 
    android:layout_height="match_parent" 
    android:orientation="vertical" 
    android:background="#ff8400" > 

    <ListView 
     android:id="@+id/list" 
     android:layout_width="match_parent" 
     android:layout_height="0dp" 
     android:layout_weight="1" 
     android:layout_marginTop="20dp"> 
    </ListView> 


</RelativeLayout> 

그리고 MainActivity :

public class MainActivity extends FragmentActivity implements ActionBar.TabListener { 

    private ViewPager viewPager; 
    private TabsPagerAdapter mAdapter; 
    private ActionBar actionBar; 

    //Tab Titles 
    private String[] tabs = { "sfn Viewer", "Directory", "Help" }; 

    @Override 
    protected void onCreate(Bundle savedInstanceState) { 
     super.onCreate(savedInstanceState); 
     setContentView(R.layout.activity_main); 

     //Initialization 
     viewPager = (ViewPager) findViewById(R.id.pager); 
     actionBar = getActionBar(); 
     mAdapter = new TabsPagerAdapter(getSupportFragmentManager()); 

     viewPager.setAdapter(mAdapter); 
     actionBar.setHomeButtonEnabled(false); 
     actionBar.setNavigationMode(ActionBar.NAVIGATION_MODE_TABS); 

     //Adding Tabs 
     for (String tab_name : tabs) { 
      actionBar.addTab(actionBar.newTab().setText(tab_name).setTabListener(this)); 
     } 

     viewPager.setOnPageChangeListener(new ViewPager.OnPageChangeListener() { 
      @Override 
     public void onPageSelected(int position) { 
       //On changing page, make sure right tab is selected 
       actionBar.setSelectedNavigationItem(position); 
      } 

      @Override 
      public void onPageScrolled(int arg0, float arg1, int arg2) {} 

      @Override 
      public void onPageScrollStateChanged(int arg0) {} 
     }); 
    } 


    @Override 
    public boolean onCreateOptionsMenu(Menu menu) { 
     // Inflate the menu; this adds items to the action bar if it is present. 
     getMenuInflater().inflate(R.menu.main, menu); 
     return true; 
    } 

    @Override 
    public boolean onOptionsItemSelected(MenuItem item) { 
     // Handle action bar item clicks here. The action bar will 
     // automatically handle clicks on the Home/Up button, so long 
     // as you specify a parent activity in AndroidManifest.xml. 
     int id = item.getItemId(); 
     if (id == R.id.action_settings) { 
      return true; 
     } 
     return super.onOptionsItemSelected(item); 
    } 

    @Override 
    public void onTabSelected(ActionBar.Tab tab, FragmentTransaction fragmentTransaction) { 
     //When the tab is selected show the correct fragment 
     viewPager.setCurrentItem(tab.getPosition()); 
    } 

    @Override 
    public void onTabUnselected(ActionBar.Tab tab, FragmentTransaction fragmentTransaction) { 

    } 

    @Override 
    public void onTabReselected(ActionBar.Tab tab, FragmentTransaction fragmentTransaction) { 

    } 
} 

내 DirectoryFragment 탭에 기대하고 무엇입니까 여기에 조각의 코드는 뷰어 1, 뷰어 2 및 뷰어 3 문자열이있는 ListView입니다.

미리 감사드립니다!

답변

1

ListViewlayout_height은 XML의 경우 0dp입니다. 이 값을 match_parent으로 변경하고 RelativeLayout에는 효과가 없으므로 layout_weight을 제거하십시오.

+0

어리석은 루키 오류. 고맙습니다! –

관련 문제