【发布时间】:2021-08-27 02:41:12
【问题描述】:
我正在尝试在 android studio 中进行板载活动。 但我面临一个问题。 这是我的适配器代码
import android.content.Context;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import android.widget.ImageView;
import android.widget.TextView;
import androidx.annotation.NonNull;
import androidx.constraintlayout.widget.ConstraintLayout;
import androidx.viewpager.widget.PagerAdapter;
public class SliderAdapter extends PagerAdapter {
Context context;
LayoutInflater layoutInflater;
public SliderAdapter(Context context) {
this.context = context;
}
int images[] = {
R.drawable.interview,
R.drawable.send,
R.drawable.click,
R.drawable.call
};
int headings [] = {
R.string.first_title,
R.string.second_title,
R.string.third_title,
R.string.fourth_title
};
int descriptions[] = {
R.string.first_decs,
R.string.second_decs,
R.string.third_decs,
R.string.fourth_decs
};
@Override
public int getCount() {
return headings.length;
}
@Override
public boolean isViewFromObject(@NonNull View view, @NonNull Object object) {
return view == (ConstraintLayout)object;
}
@NonNull
@Override
public Object instantiateItem(@NonNull ViewGroup container, int position) {
layoutInflater = (LayoutInflater) context.getSystemService(context.LAYOUT_INFLATER_SERVICE);
View view = layoutInflater.inflate(R.layout.slides_layout,container,false);
ImageView imageView = view.findViewById(R.id.slider_image);
TextView heading = view.findViewById(R.id.slider_heading);
TextView desc = view.findViewById(R.id.slider_decs);
imageView.setImageResource(images[position]);
heading.setText(headings[position]);
desc.setText(descriptions[position]);
container.addView(view);
return super.instantiateItem(container, position);
}
@Override
public void destroyItem(@NonNull ViewGroup container, int position, @NonNull Object object) {
container.removeView((ConstraintLayout)object);
}
}
这是我的主要活动代码
import androidx.appcompat.app.AppCompatActivity;
import androidx.recyclerview.widget.RecyclerView;
import androidx.viewpager2.widget.ViewPager2;
import android.os.Bundle;
import android.widget.LinearLayout;
public class OnBoardActivity extends AppCompatActivity {
ViewPager2 viewPager2;
LinearLayout dots;
SliderAdapter sliderAdapter;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_on_board);
viewPager2 = findViewById(R.id.slider);
dots = findViewById(R.id.dots);
sliderAdapter = new SliderAdapter(this);
viewPager2.setAdapter(sliderAdapter);
}
}
但是我遇到了这个错误
请帮我解决这个问题。
【问题讨论】:
标签: java android xml android-studio android-adapter