我正在尝试在我的回收视图中放置一个横幅AdMob,就像每5个项目中应该有一个横幅AdMob我经常浏览互联网,但由于这个原因,我找不到任何使用.ViewHolder的人,所以我找不到任何将横幅AdMob放在recyclerview中的例子,我使用的是.PostHolder,而不是.PostHolder
我怎么能做到这一点?
谢谢
这是我的适配器类:
public class MainActivityAdapter extends RecyclerView.Adapter<MainActivityAdapter.PostHolder>{
private ArrayList<String> fiyatList;
private ArrayList<String> açıklamaList;
private ArrayList<String > isimList;
private String [] colors = {"#d2d2d1","#404040"};
public MainActivityAdapter(ArrayList<String> fiyatList,ArrayList<String> açıklamaList,ArrayList<String> isimList){
this.fiyatList=fiyatList;
this.açıklamaList=açıklamaList;
this.isimList=isimList;
}
@NonNull
@Override
public MainActivityAdapter.PostHolder onCreateViewHolder(@NonNull ViewGroup parent, int viewType) {
LayoutInflater layoutInflater=LayoutInflater.from(parent.getContext());
View view=layoutInflater.inflate(R.layout.activity_main_adapter,parent,false);
return new PostHolder(view);
}
@Override
public void onBindViewHolder(@NonNull MainActivityAdapter.PostHolder holder, int position) {
holder.fiyat.setText("₺"+" "+fiyatList.get(position));
holder.açıklama.setText(açıklamaList.get(position));
holder.isim.setText(isimList.get(position));
if (position%2==0) {
holder.itemView.setBackgroundColor(Color.parseColor(colors[0]));
}
else {
holder.itemView.setBackgroundColor(Color.parseColor(colors[1]));
}
}
@Override
public int getItemCount() {
return fiyatList.size();
}
public class PostHolder extends RecyclerView.ViewHolder {
TextView açıklama,fiyat,isim;
public PostHolder(@NonNull View itemView) {
super(itemView);
açıklama=itemView.findViewById(R.id.açıklama);
fiyat=itemView.findViewById(R.id.fiyat);
isim=itemView.findViewById(R.id.isim);
}
}
}和我的MainActivity:
public class MainActivity extends AppCompatActivity {
private RequestQueue mQueue;
Button buttonr,buttonl,döviz,zirai;
FirebaseFirestore firebaseFirestore;
ArrayList<String> isimList;
ArrayList<String> fiyatList;
ArrayList<String> açıklamaList;
MainActivityAdapter mainActivityAdapter;
ArrayList<String > dövizler;
ArrayList<String > semboller;
ArrayList<String > açıklama;
AdView AdView;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
buttonl=findViewById(R.id.buttonl);
buttonr=findViewById(R.id.buttonr);
zirai=findViewById(R.id.zirai);
döviz=findViewById(R.id.döviz);
mQueue = Volley.newRequestQueue(this);
firebaseFirestore=FirebaseFirestore.getInstance();
FirebaseApp.initializeApp(MainActivity.this);
buttonl.setBackgroundColor(Color.BLACK);
buttonr.setBackgroundColor(Color.BLACK);
zirai.setBackgroundColor(Color.BLACK);
döviz.setBackgroundColor(Color.BLACK);
açıklamaList=new ArrayList<>();
fiyatList=new ArrayList<>();
isimList=new ArrayList<>();
semboller=new ArrayList<>();
açıklama=new ArrayList<>();
dövizler=new ArrayList<>();
// dövizler.add(0,"1");
// açıklama.add(0,"TL");
// semboller.add(0,"TL");
zirai.setEnabled(false);
jsonParse();
getDataFromFireBase();
RecyclerView recyclerView1=findViewById(R.id.recyclerview1);
recyclerView1.setLayoutManager(new LinearLayoutManager(this));
mainActivityAdapter=new MainActivityAdapter(fiyatList,açıklamaList,isimList);
recyclerView1.setAdapter(mainActivityAdapter);
}
public void BUTTONR(View view){
Intent intent=new Intent(MainActivity.this,MainActivity2.class);
intent.putExtra("DÖVİZLER",açıklama);
intent.putExtra("DÖVİZLERFİYAT",dövizler);
intent.putExtra("ziraiisimList",isimList);
intent.putExtra("ziraifiyat",fiyatList);
startActivity(intent);
}
public void ZİRAİ(View view){
döviz.setEnabled(true);
zirai.setEnabled(false);
RecyclerView recyclerView1=findViewById(R.id.recyclerview1);
recyclerView1.setLayoutManager(new LinearLayoutManager(this));
mainActivityAdapter=new MainActivityAdapter(fiyatList,açıklamaList,isimList);
recyclerView1.setAdapter(mainActivityAdapter);
}
public void DÖVİZ(View view){
döviz.setEnabled(false);
zirai.setEnabled(true);
RecyclerView recyclerView1=findViewById(R.id.recyclerview1);
recyclerView1.setLayoutManager(new LinearLayoutManager(this));
mainActivityAdapter=new MainActivityAdapter(dövizler,açıklama,semboller);
recyclerView1.setAdapter(mainActivityAdapter);
}
public void onBackPressed() {
closeContextMenu();
}
public void getDataFromFireBase(){
CollectionReference collectionReference=(CollectionReference) firebaseFirestore.collection("Ürünler");
collectionReference.addSnapshotListener(new EventListener<QuerySnapshot>() {
@Override
public void onEvent(@Nullable QuerySnapshot queryDocumentSnapshots, @Nullable FirebaseFirestoreException e) {
if (e!=null){
}
if (queryDocumentSnapshots!=null){
fiyatList.clear();
isimList.clear();
açıklamaList.clear();
int count=0;
for (DocumentSnapshot snapshot:queryDocumentSnapshots.getDocuments()){
Map<String,Object> data = snapshot.getData();
//Casting
String açıklama= (String) data.get("Açıklama");
String fiyat= (String) data.get("Fiyat");
String isim= (String) data.get("İsim");
açıklamaList.add(açıklama);
fiyatList.add(fiyat);
isimList.add(isim);
mainActivityAdapter.notifyDataSetChanged();
}
}
}
});
}}发布于 2021-04-05 15:10:55
您不能将横幅广告放在回收器视图中,但我想我知道您想要什么,我们应该使用Native Advanced Ads在回收器视图中加载广告。有关更多信息,请查看此文档,还有许多教程
https://stackoverflow.com/questions/66935103
复制相似问题