Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/340.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 在Android中将类对象强制转换为EditText? public void changeCurrency(RelativeLayout布局){ 对于(int i=0;i_Java_Android_Android Layout_Android Gui - Fatal编程技术网

Java 在Android中将类对象强制转换为EditText? public void changeCurrency(RelativeLayout布局){ 对于(int i=0;i

Java 在Android中将类对象强制转换为EditText? public void changeCurrency(RelativeLayout布局){ 对于(int i=0;i,java,android,android-layout,android-gui,Java,Android,Android Layout,Android Gui,在上面的代码中,我试图迭代布局中的gui元素并验证它们的内容。我在评论部分挣扎 即获取对EditText的文本值的访问权 我不知道如何将c对象强制转换为EditText来检查值 想法?大多数使用文本的视图都是从TextView扩展而来的。如果您所做的只是验证文本,那么这就足够了 public void changeCurrency(RelativeLayout layout) { for (int i = 0; i < layout.getChildCount(); i++) {

在上面的代码中,我试图迭代布局中的gui元素并验证它们的内容。我在评论部分挣扎

即获取对EditText的文本值的访问权

我不知道如何将c对象强制转换为EditText来检查值


想法?

大多数使用文本的视图都是从TextView扩展而来的。如果您所做的只是验证文本,那么这就足够了

public void changeCurrency(RelativeLayout layout) {
    for (int i = 0; i < layout.getChildCount(); i++) {
        View v = layout.getChildAt(i);
        Class c = v.getClass();
        if (c == EditText.class) {
            // validate EditClass
        } else if (c == TextView.class) {
            //validate RadioButton
        } 
    }
}
public void changeCurrency(RelativeLayout布局){
对于(int i=0;i
大多数使用文本的视图都是从TextView扩展而来的。如果您所做的只是验证文本,那么这就足够了

public void changeCurrency(RelativeLayout layout) {
    for (int i = 0; i < layout.getChildCount(); i++) {
        View v = layout.getChildAt(i);
        Class c = v.getClass();
        if (c == EditText.class) {
            // validate EditClass
        } else if (c == TextView.class) {
            //validate RadioButton
        } 
    }
}
public void changeCurrency(RelativeLayout布局){
对于(int i=0;i
尝试使用以下逻辑

public void changeCurrency(RelativeLayout layout) {
    for (int i = 0; i < layout.getChildCount(); i++) {
        View v = layout.getChildAt(i);
        if (v instanceof TextView) {
            TextView t = (TextView) v;
            String text = t.getText().toString();
            // ...
        }
    }
}

由于
EditText
TextView
的子类,因此需要首先检查
EditText
EditText
将作为
TextView
的一个实例测试为阳性,请尝试使用以下逻辑

public void changeCurrency(RelativeLayout layout) {
    for (int i = 0; i < layout.getChildCount(); i++) {
        View v = layout.getChildAt(i);
        if (v instanceof TextView) {
            TextView t = (TextView) v;
            String text = t.getText().toString();
            // ...
        }
    }
}

由于
EditText
TextView
的子类,因此需要首先检查
EditText
EditText
将作为
TextView

的一个实例测试为阳性。你是说getText()?不,我不能在c对象上调用getText(),因为它的类当时还没有定义,我正试图找出如何将其转换为EditText。你是说getText()?不,我不能调用getText()在c对象上,因为当时还没有定义它的类,我正试图找出如何将它转换为EditText。我正要回答同样的问题。这个答案太好了!!我正要回答同样的问题。这个答案太好了!!谢谢我自己也意识到了这一点,因为某种原因,我一直试图用C来代替V。。很晚了。。哈哈。再次谢谢。谢谢。。我自己也意识到了这一点,因为某种原因,我一直试图用C来代替V。。很晚了。。哈哈,再次谢谢你。