gpt4 book ai didi

java - Android - 错误的第一个参数类型和 ' android.supportv4.app.Fragment'

转载 作者:太空宇宙 更新时间:2023-11-03 12:48:48 26 4
gpt4 key购买 nike

我正在创建 Material Design 选项卡 View 。在我的主 Activity 上使用 addFragment 方法后出现错误。这是我遇到的错误。

Wrong 1st argument type. Found: 'com.example.sa.tabproject.LatestPromoFragment, ' android.supportv4.app.Fragment'

我的MainActivity.java

import android.app.Activity;
import android.support.design.widget.TabLayout;
import android.support.v4.view.ViewPager;
import android.support.v7.app.ActionBarActivity;
import android.os.Bundle;
import android.support.v4.view.ViewPager;
import android.support.v7.app.AppCompatActivity;
import android.view.Menu;
import android.view.MenuItem;
import android.support.v7.widget.Toolbar;
import android.app.Fragment;

public class MainActivity extends AppCompatActivity {
Toolbar toolbar;
TabLayout tabLayout;
ViewPager viewPager;
ViewPagerAdapter viewPagerAdapter;

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

toolbar=(Toolbar)findViewById(R.id.toolBar);
setSupportActionBar(toolbar);

tabLayout=(TabLayout)findViewById(R.id.tab_layout);

viewPager = (ViewPager) findViewById(R.id.viewPager);

viewPagerAdapter= new ViewPagerAdapter(getSupportFragmentManager());


viewPagerAdapter.addFragment(new LatestPromoFragment(),"Latest Promos"); // new LatestPromoFragment() should be in getItem() otherwise it will cause crashes
viewPagerAdapter.addFragment(new MapViewFragment(),"Map View"); // new MapViewFragment() should be in getItem() otherwise it will cause crashes
viewPager.setAdapter(viewPagerAdapter);
tabLayout.setupWithViewPager(viewPager);

}}

ViewPagerAdapter.java

import android.support.v4.app.Fragment;
import android.support.v4.app.FragmentManager;
import android.support.v4.app.FragmentPagerAdapter;
import java.util.ArrayList;
import java.util.List;

public class ViewPagerAdapter extends FragmentPagerAdapter {
ArrayList<Fragment> fragment = new ArrayList<>(); // this line can cause crashes
ArrayList<String> tabTitles= new ArrayList<>();


public void addFragment(Fragment fragment,String titles){
this.fragment.add(fragment); // this line can cause crashes
this.tabTitles.add(titles);

}
public ViewPagerAdapter(FragmentManager fm){
super(fm);

}

@Override
public Fragment getItem(int position) {
return fragment.get(position); // this should create the Fragment instances
}

@Override
public int getCount() {
return fragment.size();
}

@Override
public CharSequence getPageTitle(int position) {
return tabTitles.get(position);
}}

我将几个 fragment 类导入到 MainActivity.java 中。但它并没有修复错误。

最佳答案

这是因为在适配器类中您正在使用支持 fragment ,即 import android.support.v4.app.Fragment;在 Activity 类中,您正在使用 app fragment import android.app.Fragment;

在每个可以工作的地方使用相同类型的 fragment 。

关于java - Android - 错误的第一个参数类型和 ' android.supportv4.app.Fragment',我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36512986/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com