ошибка: не удается найти переменную символа itemsAdapter - PullRequest
0 голосов
/ 28 января 2020

Я следую инструкциям и не могу запустить свой проект. Я продолжаю получать сообщение об ошибке: не могу найти символьную переменную itemsAdapter, даже если мой класс находится в той же папке. Любые идеи? Спасибо MainActivity. java itemsAdapter. java MainActivity. java:

package com.example.simpletodo;

import androidx.appcompat.app.AppCompatActivity;
import androidx.recyclerview.widget.LinearLayoutManager;
import androidx.recyclerview.widget.RecyclerView;

import android.os.Bundle;
import android.widget.Button;
import android.widget.EditText;


import java.util.ArrayList;
import java.util.List;



public class MainActivity extends AppCompatActivity {

    List<String> items;

    Button btnAdd;
    EditText etItem;
    RecyclerView rvItems;

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);

        btnAdd = findViewById(R.id.btnAdd);
        etItem = findViewById(R.id.etItem);
        rvItems = findViewById(R.id.rvItems);

        items = new ArrayList<>();
        items.add("Buy milk");
        items.add("Go to the gym");
        items.add("Email Autumn");

        itemsAdapter ItemsAdapter;
        ItemsAdapter = new itemsAdapter(items);
        rvItems.setAdapter(itemsAdapter);
        rvItems.setLayoutManager(new LinearLayoutManager(this));

    }
}

ItemsAdapter. java: пакет com.example. simpletodo;

import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;

import androidx.annotation.NonNull;
import androidx.recyclerview.widget.RecyclerView;

import java.util.List;

public class itemsAdapter extends 
   RecyclerView.Adapter<itemsAdapter.ViewHolder>{

      List<String> items;

    public itemsAdapter(List<String> items) {
          this.items = items;

    }

    // @NonNull
    @Override
   // creates each view
   public ViewHolder onCreateViewHolder(@NonNull ViewGroup parent, int viewType) {
      // Use layout inflator to inflate a view
      View todoView = LayoutInflater.from(parent.getContext()).inflate(android.R.layout.simple_list_item_1, parent, false);
      // wrap it inside a View Holder and return it
      return new ViewHolder(todoView);
  }  

   // responsible for binding data to a particular view holder
   @Override
   public void onBindViewHolder(@NonNull ViewHolder holder, int position) {
        // Grab the item at the position
       String item = items.get(position);
      // Bind the item into specified view holder
      holder.bind(item);

    }

    // the # of items available in the data
   @Override
  public int getItemCount() {
        return 0;
   }

       // Container to provide easy access to views that represent each row of the list
     class ViewHolder extends RecyclerView.ViewHolder {

    public ViewHolder(@NonNull View itemView) {
        super(itemView);
    }

    // Update the view inside of the view holder with this data
    public void bind(String item) {
    }
}

1 Ответ

0 голосов
/ 28 января 2020

В строке 41 из MainActivity.java itemsAdapter должно быть ItemsAdapter

PS: Ваш стандарт именования для itemsAdapter противоположен соглашению. Класс должен иметь имя ItemsAdapter, а переменная / экземпляр должна быть itemsAdapter

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...