Closed. This question is not reproducible or was caused by typos 。它目前不接受答案。
想改善这个问题吗?更新问题,使其成为 Stack Overflow 的 on-topic。
5年前关闭。
Improve this question
我正在使用 fragment 和
我知道
但是没修好。
那是我的代码:
主要 Activity 进口
尝试创建 pageradapter 时出现错误的主要 Activity
这里是我的 PagerAdapter
想改善这个问题吗?更新问题,使其成为 Stack Overflow 的 on-topic。
5年前关闭。
Improve this question
我正在使用 fragment 和
pageview
尝试使用水平寻呼机,但出现以下错误:Cannot instantiate the type PagerAdapter.
我知道
PagerAdapter
是一个抽象类,所以我创建了一个继承自 PagerAdapter
的新类并使用它。但是没修好。
那是我的代码:
主要 Activity 进口
import java.util.List;
import java.util.Vector;
import android.os.Bundle;
import android.support.v4.app.Fragment;
import android.support.v4.view.ViewPager;
import android.support.v7.app.ActionBarActivity;
import android.view.Menu;
import android.view.MenuItem;
//import com.example.prova.PagerAdapter;
//import android.support.v4.view.PagerAdapter;
尝试创建 pageradapter 时出现错误的主要 Activity
public class MainActivity extends ActionBarActivity {
List<Fragment> fragments = new Vector<Fragment>();
private ViewPager mPager;
PagerAdapter mPagerAdapter;
//mPager.setCurrentItem(2);
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
// creating fragments and adding to list
fragments.add(Fragment.instantiate(this,Timeline.class.getName()));
fragments.add(Fragment.instantiate(this,Postit.class.getName()));
fragments.add(Fragment.instantiate(this,Frase.class.getName()));
fragments.add(Fragment.instantiate(this,Impostazioni.class.getName()));
// creating adapter and linking to view pager
this.mPagerAdapter=new PagerAdapter(super.getSupportFragmentManager(),fragments); //I GOT HERE THE ERROR
mPager = (ViewPager) super.findViewById(R.id.pager);
mPager.setAdapter(this.mPagerAdapter);
}
这里是我的 PagerAdapter
public abstract class PagerAdapter extends FragmentPagerAdapter {
// fragments to instantiate in the viewpager
private List<Fragment> fragments;
// constructor
public PagerAdapter(FragmentManager fm,List<Fragment> fragments) {
super(fm);
this.fragments = fragments;
}
// return access to fragment from position, required override
@Override
public Fragment getItem(int position) {
return this.fragments.get(position);
}
// number of fragments in list, required override
@Override
public int getCount() {
return this.fragments.size();
}
}
最佳答案
您不能创建抽象类的实例。
关于android - 无法实例化 PagerAdapter 类型,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/27395757/
10-13 02:26