Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/212.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
React Native Android-尝试为ViewPager编写自定义UI组件时出错_Android_Android Viewpager_Reactjs_React Native - Fatal编程技术网

React Native Android-尝试为ViewPager编写自定义UI组件时出错

React Native Android-尝试为ViewPager编写自定义UI组件时出错,android,android-viewpager,reactjs,react-native,Android,Android Viewpager,Reactjs,React Native,我有一个自定义的viewpager,我正试图在android中为它编写一个自定义的UI模块。我想学习如何做到这一点,因为我只能移植我的应用程序,以便在android端为所有自定义模块轻松编写这些ManagerClass时做出反应 protected MaterialViewPager createViewInstance(ThemedReactContext themedReactContext) { mViewPager = new MaterialViewPager(them

我有一个自定义的viewpager,我正试图在android中为它编写一个自定义的UI模块。我想学习如何做到这一点,因为我只能移植我的应用程序,以便在android端为所有自定义模块轻松编写这些ManagerClass时做出反应

    protected MaterialViewPager createViewInstance(ThemedReactContext themedReactContext) {
    mViewPager = new MaterialViewPager(themedReactContext);


    mViewPager.setMaterialViewPagerListener(new MaterialViewPager.Listener() {
        @Override
        public HeaderDesign getHeaderDesign(int page) {
            switch (page) {
                case 0:
                    return HeaderDesign.fromColorResAndUrl(
                            R.color.green,
                            "https://fs01.androidpit.info/a/63/0e/android-l-wallpapers-630ea6-h900.jpg");
                case 1:
                    return HeaderDesign.fromColorResAndUrl(
                            R.color.blue,
                            "http://cdn1.tnwcdn.com/wp-content/blogs.dir/1/files/2014/06/wallpaper_51.jpg");

            return null;
        }
    });
    mViewPager.getViewPager().setOffscreenPageLimit(mViewPager.getViewPager().getAdapter().getCount());
    mViewPager.getPagerTitleStrip().setViewPager(mViewPager.getViewPager());

    return mViewPager;
}
我在MainActivity.java中有

    public List<ViewManager> createViewManagers(
        ReactApplicationContext reactContext) {
    return Arrays.<ViewManager>asList(
            new MaterialViewPagerManager()
    );
    }
最后是index.android.js

var {
 Text,
 View,
 MatViewPager,
} = React;

[...]

render: function() {
 return (
  <MatViewPager>
  </MatViewPager>
 );
 }

任何react开发者都可以为我指出正确的方向?

首先,确保您
ManagerClass
getName
方法返回
“rctmatviewpage”

其次,您需要导入js模块。它不在React模块中,因为您创建了自己的MatViewPager.js:

var MatViewPager = require('./{path_to_your_modules}/MatViewPager');
Error: Invariant Violation: Element type is invalid: expected a string 
(for built-in components) or a class/function (for composite components) 
but got: undefined.
var MatViewPager = require('./{path_to_your_modules}/MatViewPager');