кнопка не работает в клике

0

У меня есть программа, которая записывает базу данных 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
    есть ли какие-нибудь журналы сбоев, которые вы можете опубликовать?
  • 0
    Он не дает сбоя и не дает мне ошибок. Я просто пропустил onClickListener для правильной переменной. Спасибо за ответ. Теперь работает

1 ответ

1
Лучший ответ

Вы забыли установить onClickListener. Добавьте это в метод onCreate вашего класса SQLiteExample...

sqlView.setOnClickListener(this);
  • 0
    Omg спасибо много .. !! Я сделал это на неправильной переменной .. !! Теперь работает нормально .. спасибо

Ещё вопросы

Сообщество Overcoder
Наверх
Меню