Recyclerview: не может получить значение счетчика предметов - PullRequest
0 голосов
/ 18 января 2019

я новичок здесь ... У меня есть проблема с подсчетом предметов в моем обзоре переработчиков? Я пробовал этот код, но он не работает.

 int count = 0;
 if (recyclerViewInstance.getAdapter() != null) {
 count = recyclerViewInstance.getAdapter().getItemCount();
 }

тоже этот, но он тоже не работает ..

   int count = 0;
   if (mAdapter != null) {
   count = mAdapter.getItemCount();
   }

это мой код:

mainActivity:

private List<NavDrawerFleetGetterSetter> navList= new ArrayList<>();
private RecyclerView recyclerView;
private NavDrawerFleetAdapter mAdapter;
Button add;
TextView successCount;

     protected void onCreate(final Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_nav_drawer_fleet);
    Toolbar toolbar = findViewById(R.id.toolbar);
    setSupportActionBar(toolbar);
    add = findViewById(R.id.fab);

    successCount=findViewById(R.id.count);
    recyclerView =findViewById(R.id.nav_sent);
    mAdapter = new NavDrawerFleetAdapter(navList);
    RecyclerView.LayoutManager mLayoutManager = new 
    LinearLayoutManager(getApplicationContext());
    recyclerView.setLayoutManager(mLayoutManager);
    recyclerView.setAdapter(mAdapter);

  if (recyclerView.getAdapter() != null) {
  successCount.getText(recyclerViewInstance.getAdapter().getItemCount());
 } 

       add.setOnClickListener(new View.OnClickListener() {
        @Override
        public void onClick(View view) {
        NavDrawerFleetGetterSetter navD= new 
        NavDrawerFleetGetterSetter(lati,longi,dateTime);
        navList.add(navD);
        mAdapter.notifyDataSetChanged();

}

myGetterSetter:

открытый класс NotSentModuleGetterSetter { Строка lat, lon, dateTime;

public NotSentModuleGetterSetter(String lat, String lon, String dateTime) {
    this.lat = lat;
    this.lon = lon;
    this.dateTime = dateTime;
}

public String getLat() {
    return lat;
}

public void setLat(String lat) {
    this.lat = lat;
}

public String getLon() {
    return lon;
}

public void setLon(String lon) {
    this.lon = lon;
}

public String getDateTime() {
    return dateTime;
}

public void setDateTime(String dateTime) {
    this.dateTime = dateTime;
}

}

myOutput:

enter image description here

как видите, счетчик успеха обнулился. Кстати, мои данные попадали в мою базу данных, и я собирал код, который нужен, так как у меня есть куча кодов на данный момент для моего проекта.

также, используя debug, данные моего mAdapter = null.

1 Ответ

0 голосов
/ 29 января 2019

В этом случае я получал данные счетчика на моем адаптере, но он должен был получить «размер» адаптера, чем получить «счет». Это сейчас работает на меня. :)

...