Fragments出现简单ActionBarSherlock错误



在编写此代码时,我遇到了一个持续的错误,它在三行中显示"类型不匹配:无法从Fragment_1转换为Fragment",如"Fragment Fragment1=new Fragment_1();"。我相信这也是导致我的片段在代码运行时不出现的问题,因为代码不知道侦听器对应什么。

import com.actionbarsherlock.app.ActionBar;
import com.actionbarsherlock.app.ActionBar.Tab;
import com.actionbarsherlock.app.SherlockFragmentActivity;
import android.os.Bundle;
import android.app.Activity;
import android.support.v4.app.FragmentTransaction;
import android.support.v4.app.Fragment;
import android.view.Menu;
public class MainActivity extends SherlockFragmentActivity {
@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_main);
    ActionBar actionbar = getSupportActionBar();
    actionbar.setNavigationMode(ActionBar.NAVIGATION_MODE_TABS);
    actionbar.setTitle("TabApp");
    ActionBar.Tab Frag1Tab = actionbar.newTab().setText("Tab 1");
    ActionBar.Tab Frag2Tab = actionbar.newTab().setText("Tab 2");
    ActionBar.Tab Frag3Tab = actionbar.newTab().setText("Tab 3");
    Fragment Fragment1 = new Fragment_1();
    Fragment Fragment2 = new Fragment_2();
    Fragment Fragment3 = new Fragment_3();
    Frag1Tab.setTabListener(new MyTabsListener(Fragment1));
    Frag2Tab.setTabListener(new MyTabsListener(Fragment2));
    Frag3Tab.setTabListener(new MyTabsListener(Fragment3));
    actionbar.addTab(Frag1Tab);
    actionbar.addTab(Frag2Tab);
    actionbar.addTab(Frag3Tab);

}
class MyTabsListener implements ActionBar.TabListener {
    public Fragment fragment;
    public MyTabsListener(Fragment fragment){
        this.fragment = fragment;
    }

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

}

}

这是Fragment_1类:

import android.app.Fragment;
import android.os.Bundle;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
public class Fragment_1 extends Fragment{
@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState){
    return inflater.inflate(R.layout.fragment_1, container, false);
    }
}

Fragment_1是否继承自android.support.v4.app.FFragment(或SherlockFragment)?还是它继承了android.app.Fragment?它应该是android.support.v4.app.Fragment

相关内容

  • 没有找到相关文章

最新更新