android - Android 中的 EditText 在获得焦点之前不会显示其值

标签 android android-layout android-edittext

我很难解决这个问题,这对其他人来说可能是基本问题。我找不到哪里出错了。我正在尝试检索有关所选机构名称的所有信息,并在它具有所需的相应值时将其设置在 editText 上。我能够检索所有数据(我将其记录到 logcat 以检查它是否真的有值(value)),但直到我单击它时它才显示在 editText 上。我试图使 editText 无效甚至请求关注,但没有任何效果。我真的想不通。我附上了我的屏幕图片并发布了该布局的 xml。在此先感谢那些愿意帮助我的人。 enter image description here

<RelativeLayout
            android:id="@+id/layout_complete_address"
            android:layout_width="fill_parent"
            android:layout_height="wrap_content"
            android:layout_below="@+id/rel_ca">

            <TableLayout
                android:id="@+id/tbl_2"
                android:layout_width="fill_parent"
                android:layout_height="wrap_content">

                <TableRow
                    android:id="@+id/tbl2_row1"
                    android:layout_width="fill_parent"
                    android:layout_height="wrap_content" >

                    <TextView
                        android:id="@+id/lbl_bldg_name"
                        android:layout_width="210dp"
                        android:layout_height="wrap_content"
                        android:layout_gravity="right|center_vertical"
                        android:text="@string/lbl_bldgname"
                        android:textColor="@color/black"
                        android:textSize="18sp" />

                    <EditText
                        android:id="@+id/txt_bldg_name"
                        android:layout_width="485dp"
                        android:layout_height="40dp"
                        android:layout_marginLeft="10dp"
                        android:background="@drawable/img_edittext_bg"
                        android:imeOptions="actionNext"
                        android:inputType="textCapWords"
                        android:nextFocusDown="@+id/txt_bldg_no"
                        android:padding="3dp"
                        android:textSize="18sp" 
                        android:singleLine="true"/>

                    <TextView
                        android:id="@+id/lbl_bldg_no"
                        android:layout_width="140dp"
                        android:layout_height="wrap_content"
                        android:layout_gravity="right|center_vertical"
                        android:text="@string/lbl_bldgno"
                        android:textColor="@color/black"
                        android:textSize="18sp" />

                    <EditText
                        android:id="@+id/txt_bldg_no"
                        android:layout_width="340dp"
                        android:layout_height="40dp"
                        android:layout_marginLeft="10dp"
                        android:background="@drawable/img_edittext_bg"
                        android:imeOptions="actionNext"
                        android:inputType="textCapWords"
                        android:nextFocusDown="@+id/txt_street_name"
                        android:padding="3dp"
                        android:textSize="18sp" 
                        android:singleLine="true"/>
                </TableRow>

                <TableRow
                    android:id="@+id/tbl2_row2"
                    android:layout_width="fill_parent"
                    android:layout_height="wrap_content"
                    android:layout_marginTop="5dp" >

                    <LinearLayout
                        android:id="@+id/linear_name1"
                        android:layout_width="215dp"
                        android:layout_height="wrap_content"
                        android:layout_gravity="right|center_vertical"
                        android:orientation="horizontal" >

                        <TextView
                            android:layout_width="wrap_content"
                            android:layout_height="wrap_content"
                            android:text="*"
                            android:textColor="@color/red"
                            android:textSize="18sp" />

                        <TextView
                            android:id="@+id/lbl_street_name"
                            android:layout_width="wrap_content"
                            android:layout_height="wrap_content"
                            android:text="@string/lbl_street_name"
                            android:textColor="@color/black"
                            android:textSize="18sp" />
                    </LinearLayout>

                    <EditText
                        android:id="@+id/txt_street_name"
                        android:layout_width="485dp"
                        android:layout_height="40dp"
                        android:layout_marginLeft="10dp"
                        android:background="@drawable/img_edittext_bg"
                        android:imeOptions="actionNext"
                        android:inputType="textCapWords"
                        android:nextFocusDown="@+id/txt_street_no"
                        android:padding="3dp"
                        android:textSize="18sp" 
                        android:singleLine="true"/>

                    <TextView
                        android:id="@+id/lbl_street_no"
                        android:layout_width="140dp"
                        android:layout_height="wrap_content"
                        android:layout_gravity="right|center_vertical"
                        android:text="@string/lbl_street_no"
                        android:textColor="@color/black"
                        android:textSize="18sp" />

                    <EditText
                        android:id="@+id/txt_street_no"
                        android:layout_width="340dp"
                        android:layout_height="40dp"
                        android:layout_marginLeft="10dp"
                        android:background="@drawable/img_edittext_bg"
                        android:imeOptions="actionNext"
                        android:inputType="textCapWords"
                        android:nextFocusDown="@+id/txt_brgy"
                        android:padding="3dp"
                        android:textSize="20sp" 
                        android:singleLine="true"/>
                </TableRow>
            </TableLayout>

            <TableLayout
                android:id="@+id/tbl_3"
                android:layout_width="fill_parent"
                android:layout_height="wrap_content"
                android:layout_below="@+id/tbl_2"
                android:layout_marginTop="5dp" >

                <TableRow
                    android:id="@+id/tbl3_row1"
                    android:layout_width="fill_parent"
                    android:layout_height="wrap_content" >

                    <LinearLayout
                        android:id="@+id/linear_name1"
                        android:layout_width="215dp"
                        android:layout_height="wrap_content"
                        android:layout_gravity="right|center_vertical"
                        android:orientation="horizontal" >

                        <TextView
                            android:layout_width="wrap_content"
                            android:layout_height="wrap_content"
                            android:text="*"
                            android:textColor="@color/red"
                            android:textSize="18sp" />

                        <TextView
                            android:id="@+id/lbl_brgy"
                            android:layout_width="wrap_content"
                            android:layout_height="wrap_content"
                            android:text="@string/lbl_brgy"
                            android:textColor="@color/black"
                            android:textSize="18sp" />
                    </LinearLayout>

                    <EditText
                        android:id="@+id/txt_brgy"
                        android:layout_width="975dp"
                        android:layout_height="40dp"
                        android:layout_marginLeft="10dp"
                        android:background="@drawable/img_edittext_bg"
                        android:imeOptions="actionDone"
                        android:inputType="textCapWords"
                        android:padding="3dp"
                        android:textSize="18sp" 
                        android:singleLine="true"/>
                </TableRow>
            </TableLayout>

            <TableLayout
                android:id="@+id/tbl_4"
                android:layout_width="fill_parent"
                android:layout_height="wrap_content"
                android:layout_below="@+id/tbl_3"
                android:layout_marginTop="5dp" >

                <TableRow
                    android:id="@+id/tbl4_row1"
                    android:layout_width="fill_parent"
                    android:layout_height="wrap_content" >

                    <LinearLayout
                        android:id="@+id/linear_name3"
                        android:layout_width="215dp"
                        android:layout_height="wrap_content"
                        android:layout_gravity="right|center_vertical"
                        android:orientation="horizontal" >

                        <TextView
                            android:layout_width="wrap_content"
                            android:layout_height="wrap_content"
                            android:text="*"
                            android:textColor="@color/red"
                            android:textSize="18sp" />

                        <TextView
                            android:id="@+id/lbl_city"
                            android:layout_width="wrap_content"
                            android:layout_height="wrap_content"
                            android:text="@string/lbl_city"
                            android:textColor="@color/black"
                            android:textSize="18sp" />
                    </LinearLayout>

                    <Spinner
                        android:id="@+id/spn_city"
                        android:layout_width="485dp"
                        android:layout_height="40dp"
                        android:layout_marginLeft="10dp"
                        android:background="@drawable/img_spinner_background"
                        android:padding="3dp" />
                </TableRow>

                <TableRow
                    android:id="@+id/tbl4_row2"
                    android:layout_width="fill_parent"
                    android:layout_height="wrap_content"
                    android:layout_marginTop="5dp" >

                    <LinearLayout
                        android:id="@+id/linear_name3"
                        android:layout_width="215dp"
                        android:layout_height="wrap_content"
                        android:layout_gravity="right|center_vertical"
                        android:orientation="horizontal" >

                        <TextView
                            android:layout_width="wrap_content"
                            android:layout_height="wrap_content"
                            android:text="*"
                            android:textColor="@color/red"
                            android:textSize="18sp" />

                        <TextView
                            android:id="@+id/lbl_province"
                            android:layout_width="wrap_content"
                            android:layout_height="wrap_content"
                            android:text="@string/lbl_province"
                            android:textColor="@color/black"
                            android:textSize="18sp" />
                    </LinearLayout>

                    <Spinner
                        android:id="@+id/spn_province"
                        android:layout_width="485dp"
                        android:layout_height="40dp"
                        android:layout_marginLeft="10dp"
                        android:background="@drawable/img_spinner_background"
                        android:padding="3dp"
                        android:textSize="20sp" />

                    <TextView
                        android:id="@+id/lbl_zipcode"
                        android:layout_width="140dp"
                        android:layout_height="wrap_content"
                        android:layout_gravity="right|center_vertical"
                        android:text="@string/lbl_zipcode"
                        android:textSize="18sp" />

                    <EditText
                        android:id="@+id/txt_zipcode"
                        android:layout_width="190dp"
                        android:layout_height="40dp"
                        android:layout_marginLeft="10dp"
                        android:background="@drawable/img_edittext_bg"
                        android:digits="1234567890"
                        android:imeOptions="actionNext"
                        android:inputType="number"
                        android:nextFocusDown="@+id/txt_lname"
                        android:padding="3dp"
                        android:textSize="20sp" 
                        android:singleLine="true"/>
                </TableRow>
            </TableLayout>

            <TableLayout
                android:id="@+id/tbl_5"
                android:layout_width="fill_parent"
                android:layout_height="wrap_content"
                android:layout_below="@+id/tbl_4" >

                <TableRow
                    android:id="@+id/tbl4_row3"
                    android:layout_width="fill_parent"
                    android:layout_height="wrap_content"
                    android:layout_marginTop="5dp" >

                    <LinearLayout
                        android:layout_width="215dp"
                        android:layout_height="wrap_content"
                        android:layout_gravity="right|center_vertical"
                        android:orientation="horizontal" >

                        <TextView
                            android:layout_width="wrap_content"
                            android:layout_height="wrap_content"
                            android:text="*"
                            android:textColor="@color/red"
                            android:textSize="18sp" />

                        <TextView
                            android:id="@+id/lbl_telno"
                            android:layout_width="wrap_content"
                            android:layout_height="wrap_content"
                            android:text="@string/lbl_telno"
                            android:textColor="@color/black"
                            android:textSize="18sp" />
                    </LinearLayout>

                    <EditText
                        android:id="@+id/txt_country_code"
                        android:layout_width="85dp"
                        android:layout_height="40dp"
                        android:layout_marginLeft="10dp"
                        android:background="@drawable/img_edittext_bg"
                        android:digits="1234567890"
                        android:hint="Country Code"
                        android:imeOptions="actionNext"
                        android:inputType="number"
                        android:maxLength="2"
                        android:nextFocusDown="@+id/txt_area_code"
                        android:padding="3dp"
                        android:singleLine="true"
                        android:textSize="18sp" />

                    <ImageView
                        android:layout_width="wrap_content"
                        android:layout_height="wrap_content"
                        android:layout_gravity="center_vertical"
                        android:layout_marginLeft="5dp"
                        android:layout_marginRight="5dp"
                        android:src="@drawable/img_dash" />

                    <EditText
                        android:id="@+id/txt_area_code"
                        android:layout_width="85dp"
                        android:layout_height="40dp"
                        android:background="@drawable/img_edittext_bg"
                        android:digits="1234567890"
                        android:hint="Area Code"
                        android:imeOptions="actionNext"
                        android:inputType="number"
                        android:maxLength="2"
                        android:nextFocusDown="@+id/txt_phone_no"
                        android:padding="3dp"
                        android:singleLine="true"
                        android:textSize="18sp" />

                    <ImageView
                        android:layout_width="wrap_content"
                        android:layout_height="wrap_content"
                        android:layout_gravity="center_vertical"
                        android:layout_marginLeft="5dp"
                        android:layout_marginRight="5dp"
                        android:src="@drawable/img_dash" />

                    <EditText
                        android:id="@+id/txt_phone_no"
                        android:layout_width="130dp"
                        android:layout_height="40dp"
                        android:background="@drawable/img_edittext_bg"
                        android:digits="1234567890"
                        android:hint="Phone Number"
                        android:imeOptions="actionNext"
                        android:inputType="number"
                        android:maxLength="7"
                        android:nextFocusDown="@+id/txt_faxcountry_code"
                        android:padding="3dp"
                        android:singleLine="true"
                        android:textSize="18sp" />

                    <Button
                        android:id="@+id/btn_add_telno"
                        android:layout_width="65dp"
                        android:layout_height="40dp"
                        android:layout_marginLeft="5dp"
                        android:background="@drawable/img_gray_unpress"
                        android:paddingLeft="10dp"
                        android:paddingRight="10dp"
                        android:text="@string/btn_add"
                        android:textColor="@color/black"
                        android:textSize="18sp"
                        android:textStyle="bold" />

                    <TextView
                        android:id="@+id/lbl_telefax_no"
                        android:layout_width="216dp"
                        android:layout_height="wrap_content"
                        android:layout_gravity="right|center_vertical"
                        android:text="@string/lbl_faxno"
                        android:textSize="18sp" />

                    <EditText
                        android:id="@+id/txt_faxcountry_code"
                        android:layout_width="85dp"
                        android:layout_height="40dp"
                        android:layout_marginLeft="10dp"
                        android:background="@drawable/img_edittext_bg"
                        android:digits="1234567890"
                        android:hint="Country Code"
                        android:imeOptions="actionNext"
                        android:inputType="number"
                        android:maxLength="2"
                        android:nextFocusDown="@+id/txt_faxarea_code"
                        android:padding="3dp"
                        android:singleLine="true"
                        android:textSize="18sp" />

                    <ImageView
                        android:layout_width="wrap_content"
                        android:layout_height="wrap_content"
                        android:layout_gravity="center_vertical"
                        android:layout_marginLeft="5dp"
                        android:layout_marginRight="5dp"
                        android:src="@drawable/img_dash" />

                    <EditText
                        android:id="@+id/txt_faxarea_code"
                        android:layout_width="85dp"
                        android:layout_height="40dp"
                        android:background="@drawable/img_edittext_bg"
                        android:digits="1234567890"
                        android:hint="Area Code"
                        android:imeOptions="actionNext"
                        android:inputType="number"
                        android:maxLength="2"
                        android:nextFocusDown="@+id/txt_faxphone_no"
                        android:padding="3dp"
                        android:singleLine="true"
                        android:textSize="18sp" />

                    <ImageView
                        android:layout_width="wrap_content"
                        android:layout_height="wrap_content"
                        android:layout_gravity="center_vertical"
                        android:layout_marginLeft="5dp"
                        android:layout_marginRight="5dp"
                        android:src="@drawable/img_dash" />

                    <EditText
                        android:id="@+id/txt_faxphone_no"
                        android:layout_width="130dp"
                        android:layout_height="40dp"
                        android:background="@drawable/img_edittext_bg"
                        android:digits="1234567890"
                        android:hint="Phone Number"
                        android:inputType="number"
                        android:maxLength="7"
                        android:padding="3dp"
                        android:singleLine="true"
                        android:textSize="18sp" />

                    <Button
                        android:id="@+id/btn_add_faxno"
                        android:layout_width="65dp"
                        android:layout_height="40dp"
                        android:layout_marginLeft="5dp"
                        android:background="@drawable/img_gray_unpress"
                        android:paddingLeft="10dp"
                        android:paddingRight="10dp"
                        android:text="@string/btn_add"
                        android:textColor="@color/black"
                        android:textSize="18sp"
                        android:textStyle="bold" />
                </TableRow>
            </TableLayout>


        </RelativeLayout>

这是我检索数据并将数据设置到 editText 的代码:

Cursor c_details = db_Handler.get_Institution_Details(_institutionID);
    if(c_details.getCount() != 0){
        for (c_details.moveToFirst(); !c_details.isAfterLast(); c_details.moveToNext()) {
            l_accountClassificationId = c_details.getString(c_details.getColumnIndex(Constants.INSTITUTION_ACCOUNT_CLASSIFICATION_ID));

            l_bldgName = c_details.getString(c_details.getColumnIndex(Constants.INSTITUTION_BLDG_NAME));
            l_bldgNo = c_details.getString(c_details.getColumnIndex(Constants.INSTITUTION_BLDG_LEVEL_NO));

            g_streetName = c_details.getString(c_details.getColumnIndex(Constants.INSTITUTION_STREET_NAME));
            l_streetNo =  c_details.getString(c_details.getColumnIndex(Constants.INSTITUTION_STREET_NO));
            g_barangay = c_details.getString(c_details.getColumnIndex(Constants.INSTITUTION_BBV));

            l_cityId = c_details.getString(c_details.getColumnIndex(Constants.INSTITUTION_CITY_ID));
            l_provinceId =  c_details.getString(c_details.getColumnIndex(Constants.INSTITUTION_PROVINCE_ID));

            //l_tel_1 = 

            g_zipcode = c_details.getString(c_details.getColumnIndex(Constants.INSTITUTION_ZIPCODE));
            g_cp_employee_population = c_details.getString(c_details.getColumnIndex(Constants.INSTITUTION_EMPLOYEE_POPULATION));
            l_cp_classification =  c_details.getString(c_details.getColumnIndex(Constants.INSTITUTION_EMPLOYEE_CLASSIFICATION));


            Log.i("DETAILS===========", "============================================");
            Log.i("l_accountClassificationId", l_accountClassificationId);
            Log.i("l_bldgName", l_bldgName);
            Log.i("l_bldgNo", l_bldgNo);
            Log.i("l_streetName", g_streetName);
            Log.i("l_streetNo", l_streetNo);
            Log.i("l_barangay", g_barangay);
            Log.i("l_cityId", l_cityId);
            Log.i("l_provinceId", l_provinceId);
            Log.i("l_zipcode", g_zipcode);
            Log.i("l_cp_employee_population", g_cp_employee_population);
            Log.i("l_cp_classification", l_cp_classification);

            Cursor c_provinceName = db_Handler.get_provinceName(l_provinceId);
            Cursor c_cityName = db_Handler.get_cityName(l_cityId);
            Cursor c_accountClassification = db_Handler.get_account_classification_name(l_accountClassificationId);
            if(c_provinceName.getCount() != 0){
                g_province = c_provinceName.getString(c_provinceName.getColumnIndex(Constants.PROVINCE_NAME));
            }else{

            }

            if(c_cityName.getCount() != 0){
                g_city = c_cityName.getString(c_cityName.getColumnIndex(Constants.CITY_NAME));
            }else{

            };

            int _cityPos = 0;
            int _provincePos = 0;
            int _classificationPos = 0;
            for (int i = 0; i < l_arrayListCity.size(); i++) {
                if(g_city.equals(l_arrayListCity.get(i))){
                    _cityPos = i;
                }
            }

            for (int i = 0; i < l_arrayListProvince.size(); i++) {
                if(g_province.equals(l_arrayListProvince.get(i))){
                    _provincePos = i;
                }
            }

            g_accountClassification = c_accountClassification.getString(c_accountClassification.getColumnIndex(Constants.ACCOUNT_CLASSIFICATION_NAME));

            for (int i = 0; i < l_arrayListAccountClassification.size(); i++) {
                if(g_accountClassification.equals(l_arrayListAccountClassification.get(i))){
                    _classificationPos = i;
                }
            }

            spn_acct_classification.setSelection(_classificationPos);
            txt_bldg_name.setText(l_bldgName);
            txt_bldg_no.setText(l_bldgNo);
            txt_street_name.setText(g_streetName);
            txt_street_no.setText(l_streetNo);
            txt_brgy.setText(g_barangay);
            txt_zipcode.setText(g_zipcode);
            spn_city.setSelection(_cityPos);
            spn_province.setSelection(_provincePos);
            txt_emp_population.setText(g_cp_employee_population);
            txt_classification.setText(l_cp_classification);
            txt_bldg_name.requestFocus();
        }
    }

更新:经过更多调试后,我发现它没有将文本设置为 editText 的原因是微调器本身。我试图在一个按钮中调用上面显示的方法(显示所有详细信息并在 editext 上设置的代码)并删除 spinner.setSelection(0) 并且它工作正常。我不知道微调器中有什么东西导致我遇到这个问题。

解决方案:我通过更改其 xml 解决了该问题。删除表格布局中的 editText。我不完全知道为什么,但效果很好。

最佳答案

如果您通过 asynctask 在您的 edittext 上设置您的字符串,请确保首先关闭进度对话框(通常在 asynctask 的 onpost 方法上关闭),这两者之间肯定存在冲突。这解决了我的问题。希望对某些人有所帮助。 :D

关于android - Android 中的 EditText 在获得焦点之前不会显示其值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21618100/

相关文章:

所有 Android 项目中的 Android 启动错误

java - android - 如何检查设备是否已连接蓝牙

android - 如何使用 <include/> 标签 android 包含子文件夹布局

android - 布局中的算术运算 - Android Data Binding

android - 显示软键盘时按下后退按钮时清除焦点 EditText

android - WebView 在触摸 Android 4.2.2 之前无法呈现

java - com.google.android :android:jar:4. 4.2_r3 在哪里?

android - 如何知道文件存在于服务器上或在android中不存在

java - 设置EditText内容

android - EditText 自定义光标错误地绘制在第一行