0

我已尝试按照此github 问题中的说明重新启动和重建。

真正让我困惑的是,该值要求我输入类型:com.example.testapp.SwipePlaceHolderView 而不是提供的类型:com.mindorks.placeholderview.SwipePlaceHolderView

我不明白为什么?

这是我班级中发生此问题的代码:

package com.example.testapp;


import android.content.Context;
import androidx.appcompat.app.AppCompatActivity;
import android.os.Bundle;
import android.util.Log;
import android.view.View;
import android.widget.Button;

import com.mindorks.placeholderview.SwipeDecor;
import com.mindorks.placeholderview.SwipePlaceHolderView;

import java.util.ArrayList;
import java.util.List;

import retrofit2.Call;
import retrofit2.Callback;
import retrofit2.Response;

public class MainActivity extends AppCompatActivity implements SwipeCardCallback {

    private Context context;
    private SwipePlaceHolderView swipePlaceHolderView;
    private Button buttonSelected, buttonRejected;
    private List<Movie> movieList;
    private int selected = 0,rejected = 0;

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

        context = this;
        movieList = new ArrayList<>();
        swipePlaceHolderView = findViewById(R.id.swipePlaceHolder);
        buttonSelected = findViewById(R.id.button_selected);
        buttonRejected = findViewById(R.id.button_rejected);

        swipePlaceHolderView.getBuilder().setDisplayViewCount(3)
                .setSwipeDecor(new SwipeDecor().setPaddingTop(20)
                        .setRelativeScale(0.01f).setSwipeInMsgLayoutId(R.layout.swipe_in_layout)
                        .setSwipeOutMsgLayoutId(R.layout.swipe_out_layout));

        loadData();

        buttonSelected.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View view) {
                swipePlaceHolderView.doSwipe(true);
            }
        });

        buttonRejected.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View view) {
                swipePlaceHolderView.doSwipe(false);
            }
        });

    }

    private void loadData() {

        ApiInterface apiInterface = ApiClient.getInstance().create(ApiInterface.class);
        apiInterface.getAllMovies().enqueue(new Callback<List<Movie>>() {
            @Override
            public void onResponse(Call<List<Movie>> call, Response<List<Movie>> response) {
                movieList = response.body();
                for (Movie movie : movieList){
                    swipePlaceHolderView.addView(new SwipeCardView(context,swipePlaceHolderView,movie));
                }
            }

            @Override
            public void onFailure(Call<List<Movie>> call, Throwable t) {
                Log.d("Error",t.getMessage());
            }
        });
    }

    @Override
    public void onSwipeIn() {
        selected = selected + 1;
        buttonSelected.setText("Selected ("+selected+")");
    }

    @Override
    public void onSwipeOut() {
        rejected = rejected + 1;
        buttonRejected.setText("Rejected ("+rejected+")");
    }
}

这是 build.gradle:


plugins {
    id 'com.android.application'

}

android {
    compileSdkVersion 30

    defaultConfig {
        applicationId "com.example.testapp"
        minSdkVersion 26
        targetSdkVersion 30
        versionCode 1
        versionName "1.0"

        testInstrumentationRunner "androidx.test.runner.AndroidJUnitRunner"
    }

    buildTypes {
        release {
            minifyEnabled false
            proguardFiles getDefaultProguardFile('proguard-android-optimize.txt'), 'proguard-rules.pro'
        }
    }
    compileOptions {
        sourceCompatibility JavaVersion.VERSION_1_8
        targetCompatibility JavaVersion.VERSION_1_8
    }
}

dependencies {

    implementation 'androidx.appcompat:appcompat:1.3.0'
    implementation 'com.google.android.material:material:1.3.0'
    implementation 'androidx.constraintlayout:constraintlayout:2.0.4'
    testImplementation 'junit:junit:4.+'
    androidTestImplementation 'androidx.test.ext:junit:1.1.2'
    androidTestImplementation 'androidx.test.espresso:espresso-core:3.3.0'
    implementation 'androidx.appcompat:appcompat:1.0.2'
    implementation 'com.mindorks:placeholderview:0.7.2'
    implementation 'androidx.recyclerview:recyclerview:1.0.0'
    implementation 'androidx.cardview:cardview:1.0.0'
    implementation 'com.squareup.retrofit2:retrofit:2.3.0'
    implementation 'com.squareup.retrofit2:converter-gson:2.3.0'
    implementation 'com.github.bumptech.glide:glide:4.6.1'
}
4

0 回答 0