有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!

将片段类传递到addSlide方法时需要java表达式

我正在开发一个简单的纪录片应用程序,我想在第一次运行时实现一个appIntro。 我刚刚在GIT上创建了下面的代码,但在将fragment类传递到addSlide方法时,AS给出了错误“Expression Expected”。 我尝试了project clean并重新生成日志中显示的错误如下:

错误:(19,18)错误:找不到符号变量ScreenSlidePageFragment 错误:(20,18)错误:找不到符号变量slide2 错误:(21,18)错误:找不到符号变量slide3 错误:(22,18)错误:找不到符号变量slide4

这是我的AppIntro课程:

 import 安卓.graphics.Color;
 import 安卓.os.Bundle;

 import com.github.paolorotolo.appintro.AppIntro;
 import com.github.paolorotolo.appintro.AppIntroFragment;

     /**
       * Created by ASUS on 9/14/2015.
     */
 public class MyIntro extends AppIntro {
   // Please DO NOT override onCreate. Use init
   @Override
    public void init(Bundle savedInstanceState) {

    // Add your slide's fragments here
    // AppIntro will automatically generate the dots indicator and buttons.
    addSlide(ScreenSlidePageFragment);
    addSlide(slide2);
    addSlide(slide3);
    addSlide(slide4);


    // Instead of fragments, you can also use our default slide
    // Just set a title, description, background and image. AppIntro will do the rest
 //  addSlide(AppIntroFragment.newInstance("dansjoo","hello stdents","/drawable/introback1.png", "black"));

    // OPTIONAL METHODS
    // Override bar/separator color
    setBarColor(Color.parseColor("#3F51B5"));
    setSeparatorColor(Color.parseColor("#2196F3"));
    setFlowAnimation();

    // Hide Skip/Done button
    showSkipButton(false);
    showDoneButton(false);

    // Turn vibration on and set intensity
    // NOTE: you will probably need to ask VIBRATE permesssion in Manifest
    setVibrate(true);
    setVibrateIntensity(30);
}



@Override
public void onSkipPressed() {
    // Do something when users tap on Skip button.
}

@Override
public void onDonePressed() {
    // Do something when users tap on Done button.
}}

这也是我的一个片段类:

         package com.google.myapplication02;

    import 安卓.app.Fragment;
    import 安卓.os.Bundle;
    import 安卓.view.LayoutInflater;
    import 安卓.view.View;
    import 安卓.view.ViewGroup;

        /**
         * Created by ASUS on 9/12/2015.
         */
         public class ScreenSlidePageFragment extends Fragment {
 public View onCreateView(LayoutInflater infaltor,ViewGroup container,Bundle savedInstanceState)
{
    ViewGroup rootView = (ViewGroup)infaltor.inflate(R.layout.intro1,container,false);
    return rootView;
}}

我在XML文件或其他类中没有错误 谁能告诉我我的代码有什么问题吗


共 (1) 个答案

  1. # 1 楼答案

    我认为错误在于,在addSlide(ScreenSlidePageFragment)中调用片段之前,必须创建片段的实例

    public class MyIntro extends AppIntro {
    
    Appintro1 appIntro1 = new Appintro1();
    Appintro2 appIntro2 = new Appintro2();
    ScreenSlidePageFragment appIntro3 = new ScreenSlidePageFragment();
    
    @Override
    public void init(Bundle savedInstanceState) {
    addSlide(appIntro1);
    addSlide(appIntro2)
    addSlide(appIntro3);
    }
    ....
    }