为什么我应该创建视图实例 class?
Why should I make an instance of the View class?
此代码对 2 个数求和。
我的问题是:如果我永远不会在我的代码中使用它,为什么我应该为 class View
创建一个实例 v
?
如果我尝试不使用 class View
的实例 v
,应用程序会崩溃。
public void onButtonClick(View v) {
EditText r1 = (EditText)findViewById(R.id.editText3);
EditText r2 = (EditText)findViewById(R.id.editText4);
TextView t = (TextView)findViewById(R.id.textView2);
int num1 = Integer.parseInt(r1.getText().toString());
int num2 = Integer.parseInt(r2.getText().toString());
int sum = num1+num2;
t.setText(Integer.toString(sum));
}
因为当您在 xml 布局中添加 onClick
侦听器时,它是必需的方法签名。
对象变量 v
用于在单击时有多个视图触发相同方法的情况。
然后您可以使用 v.getId()
来确定 哪个 视图触发了方法(通常,通过使用 switch ... case
)并据此采取行动。
此代码对 2 个数求和。
我的问题是:如果我永远不会在我的代码中使用它,为什么我应该为 class View
创建一个实例 v
?
如果我尝试不使用 class View
的实例 v
,应用程序会崩溃。
public void onButtonClick(View v) {
EditText r1 = (EditText)findViewById(R.id.editText3);
EditText r2 = (EditText)findViewById(R.id.editText4);
TextView t = (TextView)findViewById(R.id.textView2);
int num1 = Integer.parseInt(r1.getText().toString());
int num2 = Integer.parseInt(r2.getText().toString());
int sum = num1+num2;
t.setText(Integer.toString(sum));
}
因为当您在 xml 布局中添加 onClick
侦听器时,它是必需的方法签名。
对象变量 v
用于在单击时有多个视图触发相同方法的情况。
然后您可以使用 v.getId()
来确定 哪个 视图触发了方法(通常,通过使用 switch ... case
)并据此采取行动。