我对引用变量有疑问。
我知道声明引用变量并不会创建对象。
但在Android中,如果我写:
Button button;
//button.(methods are seen)
button=(Button)findViewById(R.id.button1); //Does this instantiate the object?
//button.(methods are seen)
如果不在第一行和第二行注释行显式创建对象,我如何能够访问Button类的方法?
例如,我可以这样做:
button.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
finish();
}
});
我不明白它是如何运作的。
答案 0 :(得分:2)
当你在xml中使用findViewById
时,你正在创建一个Button对象(android为你创建它)。当您使用方法Button
时,您将获得对创建的Button
的引用。因此,您可以访问$("#btnChangeName").click(function() {
var name = $("#Name").val();
var url = 'http://localhost:27081/api/products/changename';
$.ajax({
url: url,
type: 'POST',
dataType: 'text',
data: JSON.stringify({name: name}),
success: successFuncApi,
error: function(xhr, ajaxOptions, thrownError) {
alert(xhr.status);
alert(thrownError);
}
});
});
类的公共方法。