getText 不可访问
getText is not accessible
将 editText
作为 view
传递给方法 checkMQTTResources
,然后我对传递给此方法的每个视图的 ID 创建 switch-case
checkMQTTResources
.
如下所示,尝试访问每个视图的getText
方法,但在使用自动完成功能时不允许或不显示。
为什么我不能使用'getText'?
代码:
btnStubView_Connect.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View v) {
// TODO Auto-generated method stub
checkMQTTResources(etStubView_ip);
}
});
}
protected void checkMQTTResources(View view) {
// TODO Auto-generated method stub
switch(view.getId()) {
case R.id.etSubView_ip:
view.gettext //gettext is not allowed here, why?
break;
case R.id.etSubView_port:
break;
case R.id.etSubView_clientID:
break;
case R.id.etSubView_KATimer:
break;
}
}
您错过了 typecast
view
到 EditText
:
((EditText)view).getText();
两种方法解决你的问题。
首先将您的 View
转换为 EditText
然后调用 getText()
接收EditText
本身
why i can not use 'getText'
因为该方法接受 View
,而 EditText
是 View
,您将能够访问更通用的 public 方法 class, View
class, 没有这样的方法 getText()
.
要解决这个问题,您应该将视图转换(转换)为 EditText,例如:
((EditText)view).getText().toString();
或接受 EditText
作为参数而不是 View
:
protected void checkMQTTResources(EditText editText) {
//...
editText.getText().toString();
}
View
是视图层次结构
中的顶级 class
java.lang.Object
↳ android.view.View
↳ android.widget.TextView
↳ android.widget.EditText
View 没有 getText()
方法,基本上它是在 android.widget.TextView
中定义的。调用 getText()
方法需要向下转换
将 editText
作为 view
传递给方法 checkMQTTResources
,然后我对传递给此方法的每个视图的 ID 创建 switch-case
checkMQTTResources
.
如下所示,尝试访问每个视图的getText
方法,但在使用自动完成功能时不允许或不显示。
为什么我不能使用'getText'?
代码:
btnStubView_Connect.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View v) {
// TODO Auto-generated method stub
checkMQTTResources(etStubView_ip);
}
});
}
protected void checkMQTTResources(View view) {
// TODO Auto-generated method stub
switch(view.getId()) {
case R.id.etSubView_ip:
view.gettext //gettext is not allowed here, why?
break;
case R.id.etSubView_port:
break;
case R.id.etSubView_clientID:
break;
case R.id.etSubView_KATimer:
break;
}
}
您错过了 typecast
view
到 EditText
:
((EditText)view).getText();
两种方法解决你的问题。
首先将您的
View
转换为EditText
然后调用getText()
接收
EditText
本身
why i can not use 'getText'
因为该方法接受 View
,而 EditText
是 View
,您将能够访问更通用的 public 方法 class, View
class, 没有这样的方法 getText()
.
要解决这个问题,您应该将视图转换(转换)为 EditText,例如:
((EditText)view).getText().toString();
或接受 EditText
作为参数而不是 View
:
protected void checkMQTTResources(EditText editText) {
//...
editText.getText().toString();
}
View
是视图层次结构
java.lang.Object
↳ android.view.View
↳ android.widget.TextView
↳ android.widget.EditText
View 没有 getText()
方法,基本上它是在 android.widget.TextView
中定义的。调用 getText()
方法需要向下转换