Android Tips1

有些是转的。

1.new Handler()不能在run()中执行
Can't create handler inside thread that has not called Looper.prepare()
原因:

在asyncTask的doInBackground()中,或Runable的run()中,或TimerTask的run()中

new Handler()就会失败。


2.TimerTask取消后就不能再用了

java.lang.IllegalStateException: TimerTask is scheduled already

当cancle掉一个TimerTask,这个Task就不能再用了。必须重新new一个。

nextStepTask = new NextStepTimerTask();
nextStepTimer.schedule(nextStepTask, 0, 1000);

3.加载字符串到String

WebpageActivity.this.getResources().getText(R.string.search_page_test).toString()

4.startActivity

  很多人使用startActivity时候,会碰到如下的异常:

Caused by: android.util.AndroidRuntimeException: Calling startActivity() from outside of an Activity  context requires the FLAG_ACTIVITY_NEW_TASK flag. Is this really what you want?


    我曾经也遇到过,不过后来研究了一下之后,明白了原理,记下来,以为碰到同样困扰的兄弟们解惑。


    都知道,Context中有一个startActivity方法,Activity继承自Context,重载了startActivity方法。如果使用Activity的startActivity方法,不会有任何限制,而如果使用Context的startActivity方法的话,就需要开启一个新的task,遇到上面那个异常的,都是因为使用了Context的startActivity方法。解决办法是,加一个flag。

  1. intent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK); 

5.android sdcard read-only file system 的解决办法

【解决方法】 

在cmd窗口一条命令就可以了: 
adb shell 
mount -o remount rw / 

//然后mkdir aaa试一下ok


LayoutInflater的构造

    /**
     * Obtains the LayoutInflater from the given context.
     */
    public static LayoutInflater from(Context context) {
        LayoutInflater LayoutInflater =
                (LayoutInflater) context.getSystemService(Context.LAYOUT_INFLATER_SERVICE);
        if (LayoutInflater == null) {
            throw new AssertionError("LayoutInflater not found.");
        }
        return LayoutInflater;
    }


s

TextView

style = "@android:style/TextAppearance.StatusBar.EventContent"//from api 9
android:textAppearance="?android:attr/textAppearanceSmall"

判断版本
if(android.os.Build.VERSION.SDK_INT<=android.os.Build.VERSION_CODES.FROYO)
	//这是小于等于2.2(api<=8)



s



s

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值