2016-05-18 154 views
0

在我的項目1小時前我得到錯誤說:無法找到符號變量EXTRA_MOVIE。無法找到符號變量

我已經嘗試清理項目,重建,重新啓動緩存和所有這些東西。

仍然有錯誤,有沒有人知道發生了什麼事。 這是我的github:https://github.com/adnxy/MyMovieApp

貝婁是被有錯誤兩項活動:

MoviesAdapter類:

public class MoviesAdapter extends RecyclerView.Adapter<MainActivity.MovieViewHolder> { 


private List<Movie> mMovieList; 
private LayoutInflater mInflater; 
private Context mContext; 

public MoviesAdapter(Context context) { 
    this.mContext = context; 
    this.mInflater = LayoutInflater.from(context); 
} 

@Override 
public MainActivity.MovieViewHolder onCreateViewHolder(ViewGroup parent, final int viewType) { 

    View view = mInflater.inflate(R.layout.row_movie, parent, false); 

    final MainActivity.MovieViewHolder viewHolder = new MainActivity.MovieViewHolder(view); 
    view.setOnClickListener(new View.OnClickListener() { 
     @Override 
     public void onClick(View view) { 
      int position = viewHolder.getAdapterPosition(); 
      Intent intent = new Intent(mContext, MovieDetailActivity.class); 
      intent.putExtra(MovieDetailActivity.EXTRA_MOVIE, mMovieList.get(position)); 
      mContext.startActivity(intent); 
     } 
    }); 
    return viewHolder; 
} 

//Ispod koristimo Picasso za slike 
@Override 
public void onBindViewHolder(MainActivity.MovieViewHolder holder, int position) { 
    Movie movie = mMovieList.get(position); 
    Glide.with(mContext) 
      .load(movie.getPoster()) 
      .into(holder.imageView); 
} 

@Override 
public int getItemCount() { 
    return (mMovieList == null) ? 0 : mMovieList.size(); 
} 

public void setMovieList(List<Movie> movieList) { 
    this.mMovieList = new ArrayList<>(); 
    this.mMovieList.addAll(movieList); 
    notifyDataSetChanged(); 
    //sve u adapter paket 


} 

MovieDetailActivity波紋管:

public class MovieDetailActivity extends AppCompatActivity { 

private Movie mMovie; 
private Reviews mReviews; 
private Genres mGenres; 
//private MoviesAdapter.ReviewAdapter rAdapter; 
ImageView backdrop; 
ImageView poster; 
TextView title; 
TextView description; 
TextView releaseDate; 
TextView voteAverage; 
ListView genres; 
ListView reviews; 


@Override 
protected void onCreate(Bundle savedInstanceState) { 
    super.onCreate(savedInstanceState); 
    setContentView(R.layout.activity_movie_detail); 
    if (getIntent().hasExtra(EXTRA_MOVIE)) { 
     mMovie = getIntent().getParcelableExtra(EXTRA_MOVIE); 
    } else { 
     throw new IllegalArgumentException("Detail activity must receive a movie parcelable"); 
    } 


    Toolbar toolbar = (Toolbar) findViewById(R.id.toolbar); 
    setSupportActionBar(toolbar); 
    CollapsingToolbarLayout toolbarLayout = (CollapsingToolbarLayout) findViewById(R.id.toolbar_layout); 
    toolbarLayout.setTitle(mMovie.getTitle()); 


    backdrop = (ImageView) findViewById(R.id.backdrop); 
    title = (TextView) findViewById(R.id.movie_title); 
    description = (TextView) findViewById(R.id.movie_description); 
    releaseDate = (TextView) findViewById(R.id.movie_date); 
    voteAverage = (TextView) findViewById(R.id.movie_rating); 
    //genres = (ListView) findViewById(R.id.genresArray); 
    reviews = (ListView) findViewById(R.id.reviewArray); 


    title.setText(mMovie.getTitle()); 
    description.setText(mMovie.getDescription()); 
    voteAverage.setText(mMovie.getVoteAverage()); 
    releaseDate.setText(mMovie.getReleaseDate()); 

    //nameReview.setList(mGenres.getName()); 


    poster = (ImageView) findViewById(R.id.movie_poster); 
    String internetUrl = "http://image.tmdb.org/t/p/w500"; 

    Glide.with(this) 
      .load(mMovie.getPoster()) 
      .override(800, 890) 
      .into(poster); 

    Glide.with(this) 
      .load(mMovie.getBackdrop()) 
      .into(backdrop); 
} 

搖籃:

buildscript { 
    repositories { 
     jcenter() 
     maven { url 'https://maven.fabric.io/public' } 
    } 
    dependencies { 
     classpath 'com.android.tools.build:gradle:1.5.0' 
     // The Fabric Gradle plugin uses an open ended version to react 
     // quickly to Android tooling updates 
     classpath 'io.fabric.tools:gradle:1.+' 
    } 
} 

apply plugin: 'com.android.application' 
apply plugin: 'io.fabric' 

repositories { 
    jcenter() 
    maven { url 'https://maven.fabric.io/public' } 
} 

android { 
    compileSdkVersion 23 
    buildToolsVersion "23.0.2" 

    defaultConfig { 
     applicationId "com.demo.mtin.mtin" 
     minSdkVersion 10 
     targetSdkVersion 23 
     versionCode 1 
     versionName "1.0" 
    } 
    buildTypes { 
     release { 
      minifyEnabled false 
      proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro' 
     } 
    } 
} 

dependencies { 
    compile fileTree(dir: 'libs', include: ['*.jar']) 
    testCompile 'junit:junit:4.12' 
    compile 'com.android.support:appcompat-v7:23.2.0' 
    compile 'com.android.support:design:23.2.0' 
    compile 'com.android.support:recyclerview-v7:23.2.0' 
    compile 'com.squareup.retrofit:retrofit:1.9.0' 
    compile 'com.github.bumptech.glide:glide:3.7.0' 
    compile 'com.squareup.okhttp:okhttp:2.7.2' 
    compile 'com.squareup.retrofit2:retrofit:2.0.2' 
    compile 'com.squareup.retrofit2:converter-gson:2.0.2' 

    compile 'com.squareup.picasso:picasso:2.5.2' 
    compile 'com.android.support:support-v4:23.2.0' 
    compile('com.crashlytics.sdk.android:crashlytics:[email protected]') { 
     transitive = true; 
    } 
    compile('com.crashlytics.sdk.android:crashlytics:[email protected]') { 
     transitive = true; 
} 
} 

回答

0

編譯時錯誤指出你沒有任何成員叫做EXTRA_MOVIE。根據您發佈的代碼,(MovieDetailActivity.EXTRA_MOVIE)是MovieDetailActivitypublic final static成員。添加

public static final String EXTRA_MOVIE = "EXTRA_MOVIE"; 

MovieDetailActivity

+0

感謝很多:)) –

相關問題