Android中的EditText在有焦点之前没有显示其值

时间:2014-02-07 02:20:06

标签: android android-layout android-edittext

我很难解决这个问题,这可能是其他人的基本问题。我无法找到我犯错误的地方。我正在尝试检索有关所选机构名称的所有信息,并在具有所需的相应值时在editText上设置它。我能够检索所有数据(我将其记录到logcat以检查它是否真的有价值),但直到我点击它时它才会显示在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。我不知道为什么,但是效果很好。

1 个答案:

答案 0 :(得分:0)

如果您通过asynctask在编辑文本上设置字符串,请确保首先解除进度对话框(通常忽略asynctask的onpost方法),这两者之间必然存在冲突。这解决了我的问题。希望它对一些人有所帮助。 :D