Androidバインドクリックイベントの4つの方法
15975 ワード
1.イベントリスナーとして内部クラス
2.匿名の内部クラスはイベントリスナーとして使用されます(名前のない内部クラスは、一度しか使用できません)
3.activity自体がイベントリスナーとして
4.xmlファイルのコントロールの下android:onClick="onClick"(onClickはメソッド名)
次のコード:
備考:クリックイベントをバインドする書き方について(clickを書くコントロールは必要ありません.switc caseを使用できます)
次のコード:(Activityファイルを直接添付)
2.匿名の内部クラスはイベントリスナーとして使用されます(名前のない内部クラスは、一度しか使用できません)
3.activity自体がイベントリスナーとして
4.xmlファイルのコントロールの下android:onClick="onClick"(onClickはメソッド名)
次のコード:
package com.example.button;
import android.app.Activity;
import android.os.Bundle;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.Button;
import android.widget.Toast;
public class MainActivity extends Activity implements OnClickListener{
private Button mybutton1,mybutton2,mybutton3,mybutton4;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
mybutton1 = (Button) findViewById(R.id.mybutton1);
mybutton1.setText("1");
mybutton1.setOnClickListener(new MybuttonOnClickListener());
mybutton2 = (Button) findViewById(R.id.mybutton2);
mybutton2.setText("2");
mybutton2.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View arg0) {
// TODO Auto-generated method stub
Toast.makeText(MainActivity.this, " ", Toast.LENGTH_LONG).show();
}
});
mybutton3 = (Button) findViewById(R.id.mybutton3);
mybutton3.setText("3");
mybutton3.setOnClickListener(this);
mybutton4 = (Button) findViewById(R.id.mybutton4);
mybutton4.setText("4");
}
class MybuttonOnClickListener implements OnClickListener{
@Override
public void onClick(View arg0) {
// TODO Auto-generated method stub
Toast.makeText(MainActivity.this, " ", Toast.LENGTH_LONG).show();
}
}
@Override
public void onClick(View arg0) {
// TODO Auto-generated method stub
Toast.makeText(MainActivity.this, "Activity ", Toast.LENGTH_LONG).show();
}
public void onClickck(View arg0) {
// TODO Auto-generated method stub
Toast.makeText(MainActivity.this, " xml `` onclick , ", Toast.LENGTH_LONG).show();
}
}
備考:クリックイベントをバインドする書き方について(clickを書くコントロールは必要ありません.switc caseを使用できます)
次のコード:(Activityファイルを直接添付)
package com.example.sqlite;
import android.app.Activity;
import android.content.ContentValues;
import android.database.Cursor;
import android.database.sqlite.SQLiteDatabase;
import android.os.Bundle;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.Button;
public class SQLiteActivity extends Activity {
/** Called when the activity is first created. */
private Button createDatabaseButton = null;
private Button updateDatabaseButton = null;
private Button insertButton = null;
private Button updateButton = null;
private Button selectButton = null;
private Button deleteButton = null;
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
// id
createDatabaseButton = (Button) findViewById(R.id.myButton_1);
updateDatabaseButton = (Button) findViewById(R.id.myButton_2);
insertButton = (Button) findViewById(R.id.myButton_3);
updateButton = (Button) findViewById(R.id.myButton_4);
selectButton = (Button) findViewById(R.id.myButton_5);
deleteButton = (Button) findViewById(R.id.myButton_6);
//
createDatabaseButton.setOnClickListener(new OnclickListener());
createDatabaseButton.setText("createdb");
updateDatabaseButton.setOnClickListener(new OnclickListener());
updateDatabaseButton.setText("updatadb");
insertButton.setOnClickListener(new OnclickListener());
insertButton.setText("insert");
updateButton.setOnClickListener(new OnclickListener());
updateButton.setText("updata");
selectButton.setOnClickListener(new OnclickListener());
selectButton.setText("select");
deleteButton.setOnClickListener(new OnclickListener());
deleteButton.setText("delete");
}
//
class OnclickListener implements OnClickListener{
@Override
public void onClick(View v) {
// TODO Auto-generated method stub
DatabaseHelper dbHelper = null;
SQLiteDatabase sqliteDatabase = null;
ContentValues values = new ContentValues();
Cursor cursor = null;
switch (v.getId()) {
case R.id.myButton_1:
// DatabaseHelper ,
dbHelper = new DatabaseHelper(SQLiteActivity.this,"mydata.db",2);
// DatabaseHelper getWritableDatabase() getReadableDatabase() ,
sqliteDatabase = dbHelper.getReadableDatabase();
break;
case R.id.myButton_2:
dbHelper = new DatabaseHelper(SQLiteActivity.this,"mydata.db",2);
// SQLiteDatabase
sqliteDatabase = dbHelper.getReadableDatabase();
break;
case R.id.myButton_3:
// ContentValues
values = new ContentValues();
// , , ,
values.put("id", 1);
values.put("name", "yangyz");
// DatabaseHelper
dbHelper = new DatabaseHelper(SQLiteActivity.this,"mydata.db", 2);
// SQLiteDatabase
sqliteDatabase = dbHelper.getWritableDatabase();
// insert ,
// :
// :SQl , ContentValues , NULL
// :ContentValues
sqliteDatabase.insert("user", null, values);
break;
case R.id.myButton_4:
// DatabaseHelper
dbHelper = new DatabaseHelper(SQLiteActivity.this,"mydata.db", 2);
// SQLiteDatabase
sqliteDatabase = dbHelper.getWritableDatabase();
// ContentValues
values = new ContentValues();
values.put("name", "zhangsan");
// update
// String:
// ContentValues:ContentValues
// String:where , sql where ,?
// String[]:
sqliteDatabase.update("user", values, "id=?", new String[] { "1" });
System.out.println("-----------update------------");
break;
case R.id.myButton_5:
String id = null;
String name = null;
// DatabaseHelper
dbHelper = new DatabaseHelper(SQLiteActivity.this,
"mydata.db", 2);
// SQLiteDatabase
sqliteDatabase = dbHelper.getReadableDatabase();
// SQLiteDatabase query , Cursor :
// String:
// String[]:
// String:
// String[]:
// String:
// String:
// String:
cursor = sqliteDatabase.query("user", new String[] { "id",
"name" }, "id=?", new String[] { "1" }, null, null, null);
// , , true, false
while (cursor.moveToNext()) {
id = cursor.getString(cursor.getColumnIndex("id"));
name = cursor.getString(cursor.getColumnIndex("name"));
}
System.out.println("-------------select------------");
System.out.println("id: "+id);
System.out.println("name: "+name);
break;
case R.id.myButton_6:
// DatabaseHelper
dbHelper = new DatabaseHelper(SQLiteActivity.this,"mydata.db",2);
// SQLiteDatabase
sqliteDatabase = dbHelper.getWritableDatabase();
// SQLiteDatabase delete
// String:
// String:
// String[]:
sqliteDatabase.delete("user", "id=?", new String[]{"1"});
System.out.println("----------delete----------");
break;
default:
break;
}
}
}
}