Android杂记兼吐槽

  • Android里的事务提交
        SQLiteDatabase db = SQLiteHelper.getInstance().getWritableDatabase();
        db.beginTransaction();

        for (Map.Entry<String, String> entry : config.entrySet()) {
            ContentValues contents = new ContentValues();
            contents.put("value", entry.getValue());
            String where = "name=?";
            String[] arg = { entry.getKey() };
            db.update("config", contents, where, arg);
        }
        db.setTransactionSuccessful();
        db.endTransaction();

 

非得 db.setTransactionSuccessful();

尼玛,能不用直接就提交上去呀db.commit();

 

  • TableLayout中单元格宽度余量占用

直接编码方法:

layout.setColumnStretchable(2, true);

layout xml中的配置方法:

android:stretchColumns="2"

明明setView(view, TableRow.LayoutParams)中的 TableRow.LayoutParams可以直接设置width为FILL_PARENT,为啥不跟其他布局一样通过FILL_PARENT来设置呢? 次奥!

 

  • 不同Activity间传递对象
Intent intent = new Intent(AccBookListActivity.this,
                    AccBookInputActivity.class);
Bundle bundle = new Bundle();
bundle.putSerializable("expense", expense);
intent.putExtras(bundle);
AccBookListActivity.this.startActivity(intent);
public void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.accbook_input);

    expense = (Expense) getIntent().getSerializableExtra("expense");
}

有没有那么复杂...弄个方法直接传对象不好呀...

 

要获取返回值或者返回时通知源Activity时

调用方法

AccBookListActivity.this.startActivityForResult(intent, 0);

 

源Activity需要覆盖下面的方法

    @Override
    protected void onActivityResult(int requestCode, int resultCode, Intent data) {
        super.onActivityResult(requestCode, resultCode, data);
        showData(from, to, pageNum);        
    }

目标Activity需要在finish前设置返回值 

this.setResult(1, getIntent());
this.finish();

 

 http://www.cnblogs.com/mubai/archive/2011/09/21/2183816.html

 

  • Dialog及Activity的退出

Dialog.dismiss()

Activity.finish()

尼妹,能不能弄个统一的容易理解的单词...

posted @ 2013-05-13 20:01  yondy  阅读(262)  评论(0编辑  收藏  举报