I implemented the recyclerview
with layoutmanager
in horizontal format in android studio
. Everything was going well until android studio crashed. I managed to recover all my code but this time whenever I scroll, my textview
items disappear. I have tried rebuilding using different API versions but the problem still persists. this is my code below:
MainActivity
public class MainActivity extends AppCompatActivity {
public static final String LOGTAG="kwik";
SalesDataSource salesDS;
SalesAdapter adapter;
Sales sales;
List<Sales> transaction;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
// Get the ViewPager and set it's PagerAdapter so that it can display items
ViewPager viewPager = (ViewPager) findViewById(R.id.viewpager);
viewPager.setAdapter(new MyPagerAdapter(getSupportFragmentManager()));
// Give the PagerSlidingTabStrip the ViewPager
PagerSlidingTabStrip tabsStrip = (PagerSlidingTabStrip) findViewById(R.id.tabs);
// Attach the view pager to the tab strip
tabsStrip.setViewPager(viewPager);
}
}
MovieAdapter
public class MovieAdapter extends RecyclerView.Adapter<MovieAdapter.MyViewHolder>{
private List<MenuItem> menuItemList;
public class MyViewHolder extends RecyclerView.ViewHolder {
public TextView menuItem;
public MyViewHolder(View view) {
super(view);
menuItem = (TextView) view.findViewById(R.id.tvMenuItem);
}
}
public MovieAdapter(List<MenuItem> menuItemList) {
this.menuItemList = menuItemList;
}
@Override
public MyViewHolder onCreateViewHolder(ViewGroup parent, int viewType) {
View itemView = LayoutInflater.from(parent.getContext())
.inflate(R.layout.menu_item_row, parent, false);
return new MyViewHolder(itemView);
}
@Override
public void onBindViewHolder(MyViewHolder holder, int position) {
MenuItem menu = menuItemList.get(position);
holder.menuItem.setText(menu.getMenuItem());
}
@Override
public int getItemCount() {
return menuItemList.size();
}
}
try with
@Override
public void onBindViewHolder(MyViewHolder holder, final int position) {
MenuItem menu = menuItemList.get(position);
holder.menuItem.setText(menu.getMenuItem());
}
final int position will give informations that textView inside cannot be changed
The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.