最近刚刚开始研究安卓,毫无经验。。。还请大家指点一二。
问题描述: 现在在做一个非常简单的 app,有两个 layout,其中一个为 default 的还有一个 layout 是设备横着时用的也就是有 landscape 的 resource qualifier。 在这两个 layout 上面都有 textview 还有一个 button, 这些组件的 id 在两个 layout 上都是一样的,只有位置是不一样的。比如在 default 的 layout 上面 button ID 是 button1 在 landscape 的 layout 上的 button ID 也是 button1。 我为这个 button 加个一个 callback 用来更新 textview 的值。 然后我就试了下。。。 按下 button 后 textview 是更新了,但是当我把手机横过来他换成 landscape layout 后 textview 的值变回原来的值了。
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
Button button = (Button) findViewById(R.id.button1);
button.setOnClickListener(new View.OnClickListener() {
public void onClick(View v) {
TextView textView = (TextView)findViewById(R.id.textView);
textView.setText(textView.getText()+"123");
}
});
}
是不是因为 setContentView(R.layout.activity_main) 导致了我更新的只是这个 layout 下的 textview ? 那么有没有方法能够更新不同 layout 里面 id 相同的全部的 textview ? 因为我觉得 id 一样了 那就是一样的 widget 嘛。。。 为毛在一个 layout 里更新了另一个还是旧的值。。。
这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。
V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。
V2EX is a community of developers, designers and creative people.