为什么要设置成全局变量

懒懒程序员 2014-12-01 12:28:50
private EditText editText;
private TextView textViewTwo;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.second);
TextView textView = (TextView)findViewById(R.id.shengao);
Bundle bundel = getIntent().getExtras();
Double doub = bundel.getDouble("editText");
textView.setText(doub.toString());
editText = (EditText)findViewById(R.id.shisi);
textViewTwo = (TextView)findViewById(R.id.shisixianshi);
editText.setOnKeyListener(new EditText.OnKeyListener() {

@Override
public boolean onKey(View v, int keyCode, KeyEvent event) {
// TODO Auto-generated method stub
textViewTwo.setText(editText.getText().toString());
Log.v("nothing", editText.getText().toString());
return false;

}
});


private EditText editText;
private TextView textViewTwo;设置成全局变量 setOnKeyListener才能监控到,放在onCreate就不能监控到
...全文
253 2 打赏 收藏 转发到动态 举报
写回复
用AI写文章
2 条回复
切换为时间正序
请发表友善的回复…
发表回复
足球中国 2014-12-01
  • 打赏
  • 举报
回复
这就所谓的蛋疼的JAVA语法吧。
Jing丶無雙 2014-12-01
  • 打赏
  • 举报
回复
不同的方法里面如果要用到同一个变量,那么这个变量最好是全局变量,举个简单的例子
protected void firstWay() {// 第一个方法
		int number = 10;
	}

	protected void secondWay() {// 第二个方法
		int i = 10;
		int j;
		j = i + number;
	}
这里的number是局部变量,不是全局变量。所以在第二个方法里就报错了。 而如果你把number作为全局变量就没有问题,如下
private int number;

	protected void firstWay() {// 第一个方法
		number = 10;
	}

	protected void secondWay() {// 第二个方法
		int i = 10;
		int j;
		j = i + number;
	}

80,351

社区成员

发帖
与我相关
我的任务
社区描述
移动平台 Android
androidandroid-studioandroidx 技术论坛(原bbs)
社区管理员
  • Android
  • yechaoa
  • 失落夏天
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧