2013-10-18 34 views
0

我是新來的福爾摩斯庫。我的代碼如下SherlockFragment的`onCreateView()`方法是沒有得到所謂的

public class MainActivity extends SherlockFragmentActivity { 

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

    com.actionbarsherlock.app.ActionBar actionbar = getSupportActionBar(); 
    actionbar.setNavigationMode(ActionBar.NAVIGATION_MODE_TABS); 
    actionbar.setTitle("PROFILE"); 
    ActionBar.Tab frag1tab = actionbar.newTab().setText("LOGIN"); 
    ActionBar.Tab frag2tab = actionbar.newTab().setText("REGISTER"); 

    Fragment fragment1 = new Fragment_1(); 
    Fragment fragment2 = new Fragment_2(); 

    frag1tab.setTabListener(new MyTabListener(fragment1)); 
    frag2tab.setTabListener(new MyTabListener(fragment2)); 

    actionbar.addTab(frag1tab); 
    actionbar.addTab(frag2tab); 

} 

class MyTabListener implements ActionBar.TabListener { 
    public Fragment fragment; 

    public MyTabListener(Fragment fragment) { 
     this.fragment = fragment; 
    } 

    @Override 
    public void onTabReselected(Tab tab, FragmentTransaction ft) { 
     // TODO Auto-generated method stub 
     ft.replace(R.id.fragment_container, fragment); 
    } 

    @Override 
    public void onTabSelected(Tab arg0, FragmentTransaction arg1) { 
     // TODO Auto-generated method stub 

    } 

    @Override 
    public void onTabUnselected(Tab arg0, FragmentTransaction arg1) { 
     // TODO Auto-generated method stub 

    } 

} 

} 

我的片段代碼如下

public class Fragment_1 extends SherlockFragment{ 

@Override 
public View onCreateView(LayoutInflater inflater, ViewGroup container, 
     Bundle savedInstanceState) { 


    return inflater.inflate(R.layout.frag1, container,false); 

} 
} 

和我fragment1.xml代碼如下

<EditText 
    android:id="@+id/edtxtPersonName" 
    android:layout_width="match_parent" 
    android:layout_height="wrap_content" 
    android:ems="10" 
    android:inputType="textPersonName" > 

    <requestFocus /> 
</EditText> 

<Button 
    android:id="@+id/btnSayHi" 
    android:layout_width="wrap_content" 
    android:layout_height="wrap_content" 
    android:text="Say Hi" /> 

<EditText 
    android:id="@+id/editText1" 
    android:layout_width="match_parent" 
    android:layout_height="wrap_content" 
    android:ems="10" /> 

<Button 
    android:id="@+id/button1" 
    android:layout_width="wrap_content" 
    android:layout_height="wrap_content" 
    android:text="Button" /> 

</LinearLayout> 

我的活動XML佈局如下。

<FrameLayout xmlns:android="http://schemas.android.com/apk/res/android" 
    android:id="@+id/fragment_container" 
    android:layout_width="wrap_content" 
    android:layout_height="wrap_content" 
    android:layout_alignParentTop="true" 
    android:layout_centerHorizontal="true" 
    android:layout_marginTop="131dp" > 


</FrameLayout> 

回答

0

好你的問題是,你需要改變對TabListener從onTabReselected到onTabSelected代碼。

@Override 
public void onTabReselected(Tab tab, FragmentTransaction ft) { 
    // TODO Auto-generated method stub 
    ft.replace(R.id.fragment_container, fragment); 
} 

@Override 
public void onTabSelected(Tab arg0, FragmentTransaction arg1) { 
    // TODO Auto-generated method stub 

} 

@Override 
public void onTabReselected(Tab tab, FragmentTransaction ft) { 
    // TODO Auto-generated method stub 
     } 

@Override 
public void onTabSelected(Tab arg0, FragmentTransaction ft) { 
    // TODO Auto-generated method stub 
    ft.replace(R.id.fragment_container, fragment); 

} 
+0

雅那是投擲需要回調例外,我固定的,但它仍然沒有顯示片段內容..... – Chaitanya

+0

什麼是主活動佈局? – Mikel

+0

它只有框架佈局。檢查編輯的問題 – Chaitanya

相關問題