5
回答
EditText 的setText()方法有问题
终于搞明白,存储TCO原来是这样算的>>>   

在onCreate()方法中写的

et=(EditText)findViewById(R.id.etid);
 et.setText("adddd");
        String texts="";
        if (null!=savedInstanceState&&savedInstanceState.containsKey(CONTENT)) {
         texts=savedInstanceState.getString(CONTENT)+"AAA";
   et.setText("vvvvvvvv");
  }

为什么它的值不是vvvvvvvv还是原来的adddd呢 条件是成立的?

举报
daoyang
发帖于5年前 5回/9K+阅
共有5个答案 最后回答: 5年前

引用来自“迷途ф書童”的答案

为什么不加个else{et.setText("qqqqqqq");}看看是不是进了if里面

 我有调试过它进去了也能得到值但就是还是显示的原来的值
你把这段代码放到Handler里面处理,不要放在主UI线程里。
String texts="";
if (null!=savedInstanceState&&savedInstanceState.containsKey(CONTENT)) {
       texts=savedInstanceState.getString(CONTENT)+"AAA";
       et.setText("vvvvvvvv");
}


引用来自“迷途ф書童”的答案

你把这段代码放到Handler里面处理,不要放在主UI线程里。
String texts="";
if (null!=savedInstanceState&&savedInstanceState.containsKey(CONTENT)) {
       texts=savedInstanceState.getString(CONTENT)+"AAA";
       et.setText("vvvvvvvv");
}


什么意思?不是很懂!上面我是在onCreate里写的!我要怎么改呢
--- 共有 2 条评论 ---
daoyang回复 @迷途ф書童 : 不写到判断里是行的,我是想在onCreate()里进行条件判断后在设值不行吗? 5年前 回复
迷途d书童我的意思是对UI的处理,都应该在Handler里面写。你上面的代码把et.setText()都写进判断里,if(){et.setText("aaa")}else{et.setText("vvvv")},这样UI只处理了一次。 5年前 回复

引用来自“daoyang”的答案

引用来自“迷途ф書童”的答案

你把这段代码放到Handler里面处理,不要放在主UI线程里。
String texts="";
if (null!=savedInstanceState&&savedInstanceState.containsKey(CONTENT)) {
       texts=savedInstanceState.getString(CONTENT)+"AAA";
       et.setText("vvvvvvvv");
}


什么意思?不是很懂!上面我是在onCreate里写的!我要怎么改呢

thanks!

不过还是不是很明白,可能在往后学学就能理解了吧

顶部