hwo?

2013-10-02 21 views
5

Ben eylem çubuğu sekmesi ile android uygulama oluşturuyorum eğer tüm kod mükemmel ama ben bu hata düzeltmek için nasıl bir parçası için nasıl bir sorunu çözmek için bana bir sorun var ????hwo?

sistem görüntü: usul tipi FragmentTransaction içinde (int Fragment) yerine

bağımsız değişkenler için geçerli değildir (int Fragman)

StartActivity.java

package com.devlebactionbartab; 

import android.net.wifi.p2p.WifiP2pManager.ActionListener; 
import android.os.Bundle; 
import android.app.ActionBar; 
import android.app.ActionBar.Tab; 
import android.app.Activity; 
import android.app.FragmentTransaction; 
import android.drm.DrmStore.Action; 
import android.support.v4.app.Fragment; 
import android.support.v4.app.FragmentActivity; 
import android.view.Menu; 

public class StartActivity extends FragmentActivity { 

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


     ActionBar actionbar = getActionBar(); 
     actionbar.setNavigationMode(ActionBar.NAVIGATION_MODE_TABS); 
     actionbar.setTitle("Tabbed Layout"); 


     ActionBar.Tab Frag1Tab = actionbar.newTab().setText("Fragment1"); 
     ActionBar.Tab Frag2Tab = actionbar.newTab().setText("Fragment2"); 
     ActionBar.Tab Frag3Tab = actionbar.newTab().setText("Fragment3"); 
     ActionBar.Tab Frag4Tab = actionbar.newTab().setText("Fragment4"); 

     Fragment fragment1 = new Fragment_1(); 
     Fragment fragment2 = new Fragment_2(); 
     Fragment fragment3 = new Fragment_3(); 
     Fragment fragment4 = new Fragment_4(); 

     Frag1Tab.setTabListener(new MyTabsListener(fragment1)); 
     Frag2Tab.setTabListener(new MyTabsListener(fragment2)); 
     Frag3Tab.setTabListener(new MyTabsListener(fragment3)); 
     Frag4Tab.setTabListener(new MyTabsListener(fragment4)); 

     actionbar.addTab(Frag1Tab); 
     actionbar.addTab(Frag2Tab); 
     actionbar.addTab(Frag3Tab); 
     actionbar.addTab(Frag4Tab); 

    } 


class MyTabsListener implements ActionBar.TabListener{ 

    public Fragment fragment; 

    //constractor 
    public MyTabsListener (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 tab, FragmentTransaction ft) { 
     // TODO Auto-generated method stub 

    } 

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

    } 


} 

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

} 

cevap

3
android.app.FragmentTransaction.replace(int id,android.app.Fragment fragment); 

Sizin yönteminiz android.app.Fragment'ten gelen bir Fragment arıyor. rt.v4.app.Fragment. Suggujim, FragmentTransaction'ınızı v4 desteğinden de içe aktarıyor.

adımlar:

SİL: import android.app.FragmentTransaction;

ADD: import android.support.v4.app.FragmentTransaction;

gitmek eclipse- için> projeye> temiz -> Hepsi temiz. i getFragmentManager kullanıyordum çünkü

v4 support FragmentTransaction

+0

@ wtsang02 i içe aktarma ithalatı yaptığımı yaptım ** android.support.v4.app.FragmentTransaction; ** ama yine de aynı hata – LebDev

+0

hem FragmentTransaction hem de Fragment import'ları silin, v4 import'lerini ekleyin, temizleyin. – wtsang02

+0

Ne demek, add v4 imports, clean ?? Ben sadece android.v4.app almayı denedim ama bana bir hata verdi – LebDev

3

I() aynı problem vardı. Eğer getSupportFragmentManager() kullanırsanız. sorunu çözerdi.

1

Daha yeni parça destek türlerini destek sınıflarıyla birleştiriyorsunuz. Sonra getSupportFragmentManager ile getFragmentManager() gibi aramaları yerine Faaliyet android.support.v4.app.FragmentActivity genişletmek ve değiştirmek import android.support.v4.app.FragmentManager;

ile import android.support.v4.app.Fragment;

import android.app.FragmentManager;
ile

import android.app.Fragment; 

: Bu satırları değiştirin() ve benzer şekilde kullandığınız diğer yöntemler için.

+0

'import fragman adaptörü üzerinde getItem çalıştığında android.support.v4.app.Fragment' ve diğer tüm sabit benim için – mewc