Java 工具栏错误使我的应用程序不断崩溃| Android studio
我的代码中的工具栏一直有一个错误,如果我取出代码,它可以正常工作,但在我为数据库添加单独的行之前,它可以正常工作,所以我真的很困惑为什么它不工作。我还在底部添加了XMLJava 工具栏错误使我的应用程序不断崩溃| Android studio,java,android,Java,Android,我的代码中的工具栏一直有一个错误,如果我取出代码,它可以正常工作,但在我为数据库添加单独的行之前,它可以正常工作,所以我真的很困惑为什么它不工作。我还在底部添加了XML private static final String TAG = MainActivity.class.getSimpleName(); private ArrayList<Item>list = new ArrayList<Item>(); private ItemAdapter adapter;
private static final String TAG = MainActivity.class.getSimpleName();
private ArrayList<Item>list = new ArrayList<Item>();
private ItemAdapter adapter;
private RecyclerView recyclerView;
private AlertDialog dialog;
@Override
***protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
Toolbar toolbar = (Toolbar) findViewById(R.id.toolbar);
setSupportActionBar(toolbar);***
FloatingActionButton fab = (FloatingActionButton)
findViewById(R.id.fab);
fetchRecords();
fab.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
LayoutInflater inflater = getLayoutInflater();
View mView1 = inflater.inflate(R.layout.activity_add,null);
final EditText input_name = (EditText)
mView1.findViewById(R.id.Name);
final EditText input_age = (EditText)
mView1.findViewById(R.id.Age);
final EditText input_weight = (EditText)
mView1.findViewById(R.id.Weight);
final EditText input_height = (EditText)
mView1.findViewById(R.id.Height);
final EditText input_reach = (EditText)
mView1.findViewById(R.id.Reach);
final Button btnSave = (Button)
mView1.findViewById(R.id.btnSave);
AlertDialog.Builder builder = new AlertDialog.Builder(MainActivity.this);
builder.setView(mView1).setTitle("Add new Record")
.setNegativeButton("Cancel", new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialogInterface, int i) {
dialog.dismiss();
}
});
btnSave.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
String name = input_name.getText().toString();
String age = input_age.getText().toString();
String weight = input_weight.getText().toString();
String height = input_height.getText().toString();
String reach = input_reach.getText().toString();
if (name.equals("") && age.equals("") && weight.equals("") && height.equals("")&& reach.equals("")){
Snackbar.make(view,"Field incomplete",Snackbar.LENGTH_SHORT).show();
}else {
Save(name,age,name,height,reach);
dialog.dismiss();
Snackbar.make(view,"Saving",Snackbar.LENGTH_SHORT).show();
}
}
});
dialog = builder.create();
dialog.show();
}
});
}
public void fetchRecords() {
recyclerView = (RecyclerView) findViewById(R.id.recycler);
adapter = new ItemAdapter(this,list);
LinearLayoutManager layoutManager = new LinearLayoutManager(MainActivity.this);
layoutManager.setOrientation(LinearLayoutManager.VERTICAL);
recyclerView.setLayoutManager(layoutManager);
recyclerView.setAdapter(adapter);
list.clear();
Functions functions = new Functions(MainActivity.this);
ArrayList<Item>data = functions.getAllRecords();
if (data.size()>0){
for (int i = 0; i<data.size(); i++){
int id = data.get(i).getId();
String namel = data.get(i).getName();
String agel = data.get(i).getAge();
String weightl = data.get(i).getWeight();
String heightl = data.get(i).getHeight();
String reachl = data.get(i).getHeight();
Item item = new Item();
item.setId(id);
item.setName(namel);
item.setAge(agel);
item.setWeight(weightl);
item.setHeight(heightl);
item.setReach(reachl);
list.add(item);
}adapter.notifyDataSetChanged();
}else {
Toast.makeText(MainActivity.this, "No Records found.", Toast.LENGTH_SHORT).show();
}
}
private void Save(String name, String age, String weight, String height, String reach) {
Functions functions = new Functions(MainActivity.this);
Item item = new Item();
item.setName(name);
item.setAge(age);
item.setWeight(weight);
item.setHeight(height);
item.setHeight(reach);
functions.Insert(item);
Toast.makeText(MainActivity.this, "Saved...", Toast.LENGTH_SHORT).show();
fetchRecords();
}
@Override
public boolean onCreateOptionsMenu(Menu menu) {
// Inflate the menu; this adds items to the action bar if it is present.
getMenuInflater().inflate(R.menu.menu_main, menu);
return true;
}
private static final String TAG=MainActivity.class.getSimpleName();
private ArrayListlist=new ArrayList();
专用项适配器;
私人回收站;
私人警报对话框;
@凌驾
***创建时受保护的void(Bundle savedInstanceState){
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
Toolbar Toolbar=(Toolbar)findViewById(R.id.Toolbar);
设置支持操作栏(工具栏)***
FloatingActionButton fab=(FloatingActionButton)
findViewById(R.id.fab);
fetchRecords();
fab.setOnClickListener(新视图.OnClickListener(){
@凌驾
公共void onClick(视图){
LayoutInflater充气机=getLayoutInflater();
视图mView1=充气机。充气(R.layout.activity_add,null);
最终编辑文本输入_name=(编辑文本)
mView1.findViewById(R.id.Name);
最终编辑文本输入\年龄=(编辑文本)
mView1.findViewById(R.id.Age);
最终编辑文本输入_权重=(编辑文本)
mView1.findViewById(R.id.重量);
最终编辑文本输入_高度=(编辑文本)
mView1.findViewById(R.id.高度);
最终编辑文本输入_reach=(编辑文本)
mView1.findViewById(R.id.Reach);
最终按钮btnSave=(按钮)
mView1.findViewById(R.id.btnSave);
AlertDialog.Builder=新建AlertDialog.Builder(MainActivity.this);
builder.setView(mView1).setTitle(“添加新记录”)
.setNegativeButton(“取消”,新建DialogInterface.OnClickListener()){
@凌驾
公共void onClick(DialogInterface,inti){
dialog.dismise();
}
});
btnSave.setOnClickListener(新视图.OnClickListener(){
@凌驾
公共void onClick(视图){
String name=input_name.getText().toString();
String age=input_age.getText().toString();
字符串权重=输入_weight.getText().toString();
字符串高度=输入\高度.getText().toString();
String reach=input_reach.getText().toString();
if(name.equals(“”)&&age.equals(“”)&&weight.equals(“”)&&height.equals(“”)&&reach.equals(“”){
Snackbar.make(视图,“字段不完整”,Snackbar.LENGTH_SHORT).show();
}否则{
保存(姓名、年龄、姓名、身高、距离);
dialog.dismise();
Snackbar.make(查看“保存”,Snackbar.LENGTH_SHORT.show();
}
}
});
dialog=builder.create();
dialog.show();
}
});
}
公共档案(){
recyclerView=(recyclerView)findViewById(R.id.recycler);
adapter=新项目adapter(此,列表);
LinearLayoutManager layoutManager=新的LinearLayoutManager(MainActivity.this);
layoutManager.setOrientation(LinearLayoutManager.VERTICAL);
recyclerView.setLayoutManager(layoutManager);
recyclerView.setAdapter(适配器);
list.clear();
函数=新函数(MainActivity.this);
ArrayListdata=functions.getAllRecords();
如果(data.size()>0){
对于styles.xml中的(inti=0;i,请使用Theme.AppCompat.Light.NoActionBar
<style name="AppTheme" parent="Theme.AppCompat.Light.NoActionBar">
........
</style>
........
使用
而不是
Toolbar
在布局中。另外,请确保在样式中使用主题.AppCompat.Light.NoActionBar
Hm…您可能会遇到什么错误?我已在底部添加了运行时错误谢谢!您的错误日志是什么?
androidx.appcompat.widget.Toolbar
Toolbar