【问题标题】:The method create(int) is undefined for the type ScreenSlideActivity.ScreenSlidePagerAdapter对于 ScreenSlideActivity.ScreenSlidePagerAdapter 类型,方法 create(int) 未定义
【发布时间】:2013-03-07 12:55:15
【问题描述】:

我也在尝试实现this project,但我收到了^Title^ 错误。

我知道这个错误已被重新发布。见这里:Error: The constructor MainActivity.ScreenSlidePagerAdapter(FragmentManager) is undefined 和这里: Eclipse doesnt recognize android.support.v13.app.FragmentActivity although I have android-support-v13 library

但没有一个答案能解决我的问题。可能是图书馆出了什么问题??

这是我的代码。

package kn.screenslide;

import android.app.Fragment;
import android.app.FragmentManager;
import android.content.Intent;
import android.os.Bundle;
import android.support.v4.app.FragmentStatePagerAdapter;
import android.support.v4.app.FragmentActivity;
import android.support.v4.app.NavUtils;
import android.support.v4.view.PagerAdapter;
import android.support.v4.view.ViewPager;
import android.view.Menu;
import android.view.MenuItem;

public class ScreenSlideActivity extends FragmentActivity {
     //The number of pages (wizard steps) to show in this demo.
    private static final int NUM_PAGES = 5;

//The pager widget, which handles animation and allows swiping horizontally to access previous and next wizard steps.

    private ViewPager mPager;

     //The pager adapter, which provides the pages to the view pager widget.
    private PagerAdapter mPagerAdapter;

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

        // Instantiate a ViewPager and a PagerAdapter.
        mPager = (ViewPager) findViewById(R.id.pager);
        mPagerAdapter = new ScreenSlidePagerAdapter(getSupportFragmentManager());
        mPager.setAdapter(mPagerAdapter);
        mPager.setOnPageChangeListener(new ViewPager.SimpleOnPageChangeListener() {
            @Override
            public void onPageSelected(int position) {
                // When changing pages, reset the action bar actions since they are dependent
                // on which page is currently active. An alternative approach is to have each
                // fragment expose actions itself (rather than the activity exposing actions),
                // but for simplicity, the activity provides the actions in this sample.
                invalidateOptionsMenu();
            }
        });
    }

        //A simple pager adapter that represents 5 {@link ScreenSlidePageFragment} objects, in sequence.

    private class ScreenSlidePagerAdapter extends FragmentStatePagerAdapter {
        public ScreenSlidePagerAdapter(android.support.v4.app.FragmentManager fm) {
            super(fm);
        }


        //This is where fragments are created
        @Override
        public android.support.v4.app.Fragment getItem(int position) {
            return ScreenSlidePageAdapter.create(position);
        }

        @Override
        public int getCount() {
            return NUM_PAGES;
        }
    }
}

【问题讨论】:

  • 只需导入该项目并正常工作您的问题是什么?
  • 不幸的是我不想使用整个包。对我来说很好,但我对@Tamilselvan 不感兴趣。我正在尝试仅修改 ScreenSlider 应用程序。问题是在最后一部分我得到这个错误:方法 create(int) is undefined for the type ScreenSlideActivity.ScreenSlidePagerAdapter
  • @baraky thanx 但没有帮助。我还将 v13 更改为 v4,将 ScreenSlidePageFragment 更改为 ScreenSlidePageAdapter。

标签: java android sdk adt android-library


【解决方案1】:

问题在ScreenSlidePageAdapter.getItem()。适配器没有 create() 方法。

//This is where fragments are created
@Override
public android.support.v4.app.Fragment getItem(int position) {
    return ScreenSlidePageAdapter.create(position);
}

你必须在这里返回一个片段,而不是适配器。

【讨论】:

  • 我正在尝试设置 setcontentview,但它显示 setcontentview 在片段中未定义的错误。你能告诉我如何声明我的 xml 文件.. xml 包含列表视图,我需要设置它。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2015-11-11
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2015-08-21
  • 2013-11-11
相关资源
最近更新 更多