1.内部类作为事件监听器

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;            }        }    }}

更多相关文章

  1. android ueventd 本地native部分源码分析
  2. Android中关于数据库SQLite的insert插入操作的理解
  3. Android(安卓)中文 API (17) —— TextSwitcher
  4. Android优化之内存优化
  5. Android动画-概述
  6. Retrofit的详解及使用
  7. Android数据库开源框架GreenDao分析
  8. HttpClient and HttpURLConnection——Android(一)
  9. Android中调用Paint的measureText()方法取得字符串显示的宽度值

随机推荐

  1. Android连接WiFi设置IP为静态IP
  2. Android判断网络是否可用,调用系统网络设
  3. 非常不错的资金管理系统android版客户端
  4. android xml 布局错误
  5. 【Android】实现Activity页面暂停几秒后
  6. android 捕获并处理HOME键
  7. Android在WebView加载数据时展示loading
  8. android telephony overview
  9. 戴尔联手T-Mobile推出首款4G平板电脑Stre
  10. Android环境配置与HelloWorld程序(Window