我试图更好地了解android的SQLite并遇到问题。我的测试程序只是有一个文本框和一个按钮。当您在文本框中输入文本并单击按钮时,我希望它创建一个新的“联系人”(数据库类)。
public class Home extends Activity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_home);
DatabaseHandler db = new DatabaseHandler(this);
String name = "";
Button upButton = (Button) findViewById(R.id.button1);
upButton.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v, String name) {
EditText editText = (EditText)findViewById(R.id.editText1);
name = editText.getText().toString();
TextView textView = (TextView)findViewById(R.id.textView2);
textView.setText(name);
}
});
db.addContact(new Contact(1,name));
}
}
如您所见,当他们单击时,它将文本框中的内容保存为名称。我只是希望能够将其发送到addContact函数调用。我也对如何在onClick函数中使用我的db类感到有些困惑?理想情况下,我只是想在onClick内进行更新,还是可以?
最佳答案
为什么不在db.addContact(new Contact(1,name));
中编写onClickListener
代码行?
如果不想这样做,请在Activity
中编写一个方法,然后从onClickListener
调用它。
private void addContact(String name) {
db.addContact(new Contact(1,name));
}
在
onCreate()
方法中;Button upButton = (Button) findViewById(R.id.button1);
upButton.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v, String name) {
EditText editText = (EditText)findViewById(R.id.editText1);
name = editText.getText().toString();
addContact(name);
}
});