如何解决如何处理非静态方法?
当我为我执行此操作时,我正在编写一些代码以将一名员工插入数据库中。Database.dao()。addEmployee(emp);它说不能从静态上下文引用非静态方法“ dao”。如果我将其添加到静态,则addEmployee()也将变为错误。我不确定这是什么意思,因为我是一个初学者。我的dao是数据库的接口,如果这有助于弄清我要做什么。任何帮助将不胜感激。这是我的代码:
package com.example.a2;
import androidx.appcompat.app.AppCompatActivity;
import androidx.room.Room;
import android.content.Intent;
import android.os.Bundle;
import android.view.View;
import android.widget.Button;
import android.widget.EditText;
import android.widget.Toast;
public class MainActivity extends AppCompatActivity {
public static Database database;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
database = Room.databaseBuilder(getApplicationContext(),Database.class,"employeedb").allowMainThreadQueries().build();
final Button logInBt = findViewById(R.id.buttonLogIn);
final EditText userEditText = findViewById(R.id.editTextTextPersonName);
final EditText passwordEditText = findViewById(R.id.editTextTextPassword);
logInBt.setOnClickListener(new View.OnClickListener() {
public void onClick(View view) {
Intent i = new Intent(getApplicationContext(),Inventory.class);
startActivity(i);
// Obtaining data from the interface
String userName = userEditText.getText().toString();
String password = passwordEditText.getText().toString();
// Create new employee object
Employee emp = new Employee();
emp.setUserName(userName);
emp.setPassword(password);
//Insert customer into database
Database.dao().addEmployee(emp);
//Display a message
Toast.makeText(getBaseContext(),"Added successfully!",Toast.LENGTH_SHORT).show();
// Clear the text
userEditText.setText("");
passwordEditText.setText("");
}
});
}
}
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。