Java 错误是缺少包、类、变量和方法
我在Android Studio中解决文件的一些问题时遇到困难,我有两个文件,其中我的评论指出了错误 PT-BR中有一些变量或代码片段,因为我是巴西的一名巴西人,来自巴西的一个堆栈溢出,但在那里,它们对我的Android Studio帮助不大 错误在于缺少包、类、变量和方法。 文件Java 错误是缺少包、类、变量和方法,java,android,android-recyclerview,Java,Android,Android Recyclerview,我在Android Studio中解决文件的一些问题时遇到困难,我有两个文件,其中我的评论指出了错误 PT-BR中有一些变量或代码片段,因为我是巴西的一名巴西人,来自巴西的一个堆栈溢出,但在那里,它们对我的Android Studio帮助不大 错误在于缺少包、类、变量和方法。 文件ListPessoas.java(共4个错误) 注释指向错误所在,请记住。您正在使用旧的和过时的android支持库,并试图导入新的androidx库,这就是您出现错误的原因。或者,迁移到androidX,这应该完成,
ListPessoas.java
(共4个错误)
注释指向错误所在,请记住。您正在使用旧的和过时的android支持库,并试图导入新的
androidx
库,这就是您出现错误的原因。或者,迁移到androidX
,这应该完成,或者使用这些软件包的android支持库。要迁移到androidX
,请打开build.gradle(app)文件,右键单击代码上的任意位置,转到重构->迁移到androidX并让它处理,然后它就会开始工作。@LalitFauzdar我使用的是Android Studio 3.1版本,有时IDE本身对我帮助不大。我的电脑配置较低,无法运行最新版本的Android Studio。我不是说Android Studio,而是说你正在使用的Android支持库。您正在使用旧的android支持库作为import android.widget.TextView
,请参阅android,您正在尝试导入androidx.annotation.NonNull代码>,请参见此处的androidx
。为此,您要么迁移到AndroidX(首选方式),要么使用android库而不是AndroidX。
package com.example.iury.livroapp;
import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
import android.widget.Toast;
import androidx.recyclerview.widget.LinearLayoutManager; //error package androidx.recyclerview.widget does not exist
import androidx.recyclerview.widget.RecyclerView; //error: package androidx.recyclerview.widget does not exist
import java.util.List;
public class ListarPessoas extends AppCompatActivity {
RecyclerView recyclerView; //error: cannot find symbol class RecyclerView
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_listar_pessoas);
setTitle("Listar pessoas");
recyclerView = findViewById(R.id.recyclerView); //error: cannot find symbol variable recyclerView
recyclerView.setLayoutManager(new LinearLayoutManager(this));
recyclerView.setHasFixedSize(true);
DatabaseHelperClass bd = new DatabaseHelperClass(this);
List<Pessoa> pessoas = bd.getListarPessoas();
if (pessoas.size() > 0){
PessoaAdapter pessoaadapter = new PessoaAdapter(pessoas,ListarPessoas.this);
recyclerView.setAdapter(pessoaadapter);
} else {
Toast.makeText(this, "Não existe pessoas no banco de dados.", Toast.LENGTH_SHORT).show();
}
}
}
package com.example.iury.livroapp;
import android.app.Activity;
import android.content.Context;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import android.widget.Button;
import android.widget.EditText;
import android.widget.TextView;
import androidx.annotation.NonNull; //error: cannot find symbol class NonNull
import androidx.recyclerview.widget.LinearLayoutManager; //error: package androidx.recyclerview.widget does not exist
import androidx.recyclerview.widget.RecyclerView; //error: package androidx.recyclerview.widget does not exist
import java.util.List;
//error: package RecyclerView does not exist
public class PessoaAdapter extends RecyclerView.Adapter<PessoaAdapter.ViewHolder> {
List<Pessoa> pessoas;
Context context;
DatabaseHelperClass bd;
public PessoaAdapter(List<Pessoa> pessoas, Context context) {
this.pessoas = pessoas;
this.context = context;
bd = new DatabaseHelperClass(context);
}
@NonNull
@Override //error: method does not override or implement a method from a supertype
//error: cannot find symbol class NonNull
public ViewHolder onCreateViewHolder(@NonNull ViewGroup parent, int viewType) {
LayoutInflater layoutInflater = LayoutInflater.from(parent.getContext());
View view = layoutInflater.inflate(R.layout.activity_listar_pessoas,parent,false);
ViewHolder viewHolder = new ViewHolder(view);
return viewHolder;
}
@Override
//error: cannot find symbol class NonNull
public void onBindViewHolder(@NonNull final ViewHolder holder, final int position) {
final Pessoa f_pessoa = pessoas.get(position);
holder.textId_pessoa.setText(Integer.toString(f_pessoa.getId_pessoa()));
holder.editNome_pessoa.setText(f_pessoa.getNome_pessoa());
holder.editEmail_pessoa.setText(f_pessoa.getEmail_pessoa());
holder.editTelefone_pessoa.setText(f_pessoa.getTelefone_pessoa());
holder.button_update.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
String nome_pessoa = holder.editNome_pessoa.getText().toString();
String email_pessoa = holder.editEmail_pessoa.getText().toString();
String telefone_pessoa = holder.editTelefone_pessoa.getText().toString();
bd.UpdatePessoa(new Pessoa(f_pessoa.getId_pessoa(),nome_pessoa,email_pessoa,telefone_pessoa));
notifyDataSetChanged(); //error: cannot find symbol method notifyDataSetChanged()
((Activity) context).finish();
context.startActivity(((Activity) context).getIntent());
}
});
holder.button_delete.setOnClickListener(new View.OnClickListener() {
//error: method does not override or implement a method from a supertype
@Override
public void onClick(View v) {
bd.DeletePessoa(f_pessoa.getId_pessoa());
pessoas.remove(position);
notifyDataSetChanged();
}
});
}
@Override //error: method does not override or implement a method from a supertype
public int getItemCount() {
return pessoas.size();
}
//error: package RecyclerView does not exist
public class ViewHolder extends RecyclerView.ViewHolder{
Button button_update, button_delete;
TextView textId_pessoa;
EditText editNome_pessoa, editEmail_pessoa, editTelefone_pessoa;
Button button_update_pessoa, button_delete_pessoa;
public ViewHolder(@NonNull View itemView) {
super(itemView);
textId_pessoa = findViewById(R.id.textId_pessoa);
editNome_pessoa = findViewById(R.id.editNome_pessoa); //error: cannot find symbol method findViewById(int)
editEmail_pessoa = findViewById(R.id.editEmail_pessoa);
editTelefone_pessoa = findViewById(R.id.editTelefone_pessoa); //error: cannot find symbol method findViewById(int)
button_delete = itemView.findViewById(R.id.button_delete_pessoa);
button_update = itemView.findViewById(R.id.button_update_pessoa);
}
}
}