簡體   English   中英

在Android中將Class對象投放到EditText?

[英]Cast Class object to EditText in Android?

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
        } 
    }
}

在上面的代碼中,我試圖遍歷布局中的gui元素並驗證其內容。 我正在為評論部分苦苦掙扎。

即可以訪問EditText的文本值。

我不知道如何將c對象轉換為EditText來檢查值。

想法?

嘗試使用以下邏輯

View v = layout.getChildAt(i);

if (v instanceof EditText) {
    EditText et = (EditText) v;

    //Do stuff

} else if (v instanceof TextView) {

    //Do other stuff

}

由於EditTextTextView的子TextView ,因此需要首先檢查EditText EditText作為TextView的實例將測試為正。

大多數使用文本的視圖都從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();
            // ...
        }
    }
}

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM