我有一个编写SQLite数据库的程序和一个读取数据库的VIEW按钮。每当我点击VIEW按钮时它都没有做任何事情,我甚至都没有收到任何错误或警告。我不知道我错过了什么。有谁可以帮助我。我确信我错过了一些非常小的东西,但我无法弄清楚是什么。
package com.newboston.thefirst;
import android.app.Activity;
import android.app.Dialog;
import android.content.Intent;
import android.database.sqlite.SQLiteException;
import android.os.Bundle;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.Button;
import android.widget.EditText;
import android.widget.TextView;
public class SQLiteExample extends Activity implements OnClickListener{
Button sqlUpdate, sqlView;
EditText sqlName, sqlFriend;
boolean worked;
@Override
protected void onCreate(Bundle savedInstanceState) {
// TODO Auto-generated method stub
super.onCreate(savedInstanceState);
setContentView(R.layout.sqliteexample);
sqlUpdate = (Button) findViewById(R.id.bsqlUpdate);
sqlView = (Button) findViewById(R.id.bsqlview);
sqlName = (EditText) findViewById (R.id.etsqlName);
sqlFriend = (EditText) findViewById(R.id.etsqlfrnd);
sqlUpdate.setOnClickListener(this);
sqlName.setOnClickListener(this);
}
@Override
public void onClick(View v) {
// TODO Auto-generated method stub
switch (v.getId()){
case R.id.bsqlUpdate:
try {
String name = sqlName.getText().toString();
String frnd = sqlFriend.getText().toString();
Friendliness entry = new Friendliness (SQLiteExample.this);
entry.open();
entry.createEntry(name, frnd);
entry.Close();
worked = true;
} catch (SQLiteException e) {
worked= false;
} finally {
if (worked){
Dialog d = new Dialog(this);
d.setTitle("success!");
TextView tv = new TextView(this);
tv.setText("done!");
d.setContentView(tv);
d.show();
}
}
break;
case R.id.bsqlview:
sqlView.setText("done");
Intent i = new Intent ("com.newboston.thefirst.SQLView");
startActivity(i);
break;
}
}
}
我的xml代码是:
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical" >
<TextView
android:id="@+id/textView1"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Name" />
<EditText
android:id="@+id/etsqlName"
android:layout_width="match_parent"
android:layout_height="wrap_content"
/>
<TextView
android:id="@+id/textView2"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Friendliness" />
<EditText
android:id="@+id/etsqlfrnd"
android:layout_width="match_parent"
android:layout_height="wrap_content"
/>
<Button
android:id="@+id/bsqlUpdate"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Update SQLite Database" />
<Button
android:id="@+id/bsqlview"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="View" />
</LinearLayout>
我的SQLView代码是:
package com.newboston.thefirst;
import android.app.Activity;
import android.os.Bundle;
import android.widget.TextView;
public class SQLView extends Activity {
@Override
protected void onCreate(Bundle savedInstanceState) {
// TODO Auto-generated method stub
super.onCreate(savedInstanceState);
setContentView(R.layout.sqlview);
TextView tv = (TextView) findViewById(R.id.tvSQLinfo);
Friendliness info = new Friendliness(this);
info.open();
String data = info.getData();
info.Close();
tv.setText(data);
}
}
如果您需要任何其他代码,请与我们联系。
答案 0 :(得分:1)
您忘记设置onClickListener。将其添加到SQLiteExample类的onCreate方法...
sqlView.setOnClickListener(this);