I am trying to learn. I am following this video https://www.youtube.com/watch?v=YL1VpGBj3R0
My adapter.java is:
package com.example.rfr.listcards;
import android.content.Context;
import android.support.v7.widget.RecyclerView;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import android.widget.ImageView;
import android.widget.TextView;
import java.util.List;
public class Adapter extends RecyclerView.Adapter<Adapter.myViewHolder> {
Context mContext;
List<item> mData;
public Adapter(Context mContext, List<item> mData) {
this.mContext = mContext;
this.mData = mData;
}
@Override
public myViewHolder onCreateViewHolder(ViewGroup parent, int viewType) {
LayoutInflater inflater = LayoutInflater.from(mContext);
View v = inflater.inflate(R.layout.card_item, parent, false);
return new myViewHolder(v);
}
@Override
public void onBindViewHolder(myViewHolder holder, int position) {
holder.background_img.setImageResource(mData.get(position).getBackground());
holder.profile_photo.setImageResource(mData.get(position).getProfilePhoto());
holder.tv_title.setText(mData.get(position).getProfileName());
holder.tv_nbFollowers.setText(mData.get(position).getNbFollowers());
}
@Override
public int getItemCount() {
return mData.size();
}
public class myViewHolder extends RecyclerView.ViewHolder {
ImageView profile_photo, background_img;
TextView tv_title, tv_nbFollowers;
public myViewHolder(View itemView) {
super(itemView);
profile_photo = itemView.findViewById(R.id.profile_img);
background_img = itemView.findViewById(R.id.card_background);
tv_title = itemView.findViewById(R.id.card_title);
tv_nbFollowers = itemView.findViewById(R.id.card_nb_follower);
}
}
}
and the MainActivity.java is:
package com.example.rfr.listcards;
import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
import android.support.v7.widget.LinearLayoutManager;
import android.support.v7.widget.RecyclerView;
import android.view.Window;
import android.view.WindowManager;
import java.util.ArrayList;
import java.util.List;
public class MainActivity extends AppCompatActivity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
// set the status bar background to transparetne
Window w = getWindow();
w.setFlags(WindowManager.LayoutParams.FLAG_LAYOUT_NO_LIMITS, WindowManager.LayoutParams.FLAG_LAYOUT_NO_LIMITS);
// setup recyclerView with the adapter
RecyclerView recyclerView = findViewById(R.id.rv_list);
List<item> mlist = new ArrayList<>();
mlist.add(new item(R.drawable.japon1, "Cities", R.drawable.a1, 2500));
mlist.add(new item(R.drawable.b2, "Cities", R.drawable.a2, 2500));
mlist.add(new item(R.drawable.b3, "Cities", R.drawable.a3, 2500));
mlist.add(new item(R.drawable.b4, "Cities", R.drawable.a4, 2500));
mlist.add(new item(R.drawable.b5, "Cities", R.drawable.a2, 2500));
mlist.add(new item(R.drawable.b6, "Cities", R.drawable.a1, 2500));
mlist.add(new item(R.drawable.b7, "Cities", R.drawable.a1, 2500));
mlist.add(new item(R.drawable.b7, "Cities", R.drawable.a1, 2500));
mlist.add(new item(R.drawable.b7, "Cities", R.drawable.a1, 2500));
Adapter adapter = new Adapter( this,mlist);
recyclerView.setAdapter(adapter);
recyclerView.setLayoutManager(new LinearLayoutManager( this));
}
}
If a try the debbug mode, the app only crash if I place the brake point at the very last } of the MainActivity.java
Can you spot what is wrong? My eyes already hurt just looking at this issue XD