2014-02-07 3 views
3

Мне трудно решить эту проблему, которая, вероятно, является основной для других. Я не могу найти, где я ошибся. Я пытаюсь получить всю информацию о выбранном имени учреждения и установить его на editText, когда он имеет соответствующее значение. Мне удалось получить все данные (я записываю его на logcat, чтобы проверить, действительно ли он имеет значение), но он не отображается в редакторе текста до момента, когда я нажимаю на него. Я попытался сделать недействительным и даже запросить фокус на editText, но не работает. Я действительно не могу понять это. Я прикрепил изображение своего экрана и разместил xml для этого макета. Спасибо заранее тем, кто мне поможет. enter image description hereEditText в Android не отображал его значение до тех пор, пока оно не сфокусировалось

<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(); 
     } 
    } 

UPDATE: После того, как еще некоторые отладки, я выяснил, что причина, почему он не устанавливает текст editText - из-за самого счетчика. Я попытался вызвать метод, который отображает выше (код, который отображает все детали и устанавливает на editext) кнопкой и удаляет spinner.setSelection (0), и он отлично работает. Я не знаю, что есть в spinner, почему у меня есть эта проблема.

РЕШЕНИЕ: Я решил эту проблему, изменив свой xml. Удаление editText внутри макета таблицы. Я не знаю, почему, но это работает отлично.

+0

отправьте код, где вы заполните текст редактирования программно, может быть ... – njzk2

+0

@ njzk2 Я разместил его. Благодаря! – lolliloop

+0

Я предполагаю, что это 'txt_bldg_name.setText (l_bldgName);' устанавливает текст в '@ + id/txt_bldg_name' edittext? 1 вещь, которую я не получаю в коде, является причиной цикла 'for' для всех значений из базы данных. Разве вы не хотите только одного? Кроме того, в какой теме происходит все это? И где-нибудь еще, где вы меняете содержание этого EditText? – njzk2

ответ

0

Если вы установили строку в своем редакторе через асинтезу, убедитесь, что диалог прогресса отклонен первым (обычно он отключается в методе onpost asynctask), между этими двумя конфликтами должен быть конфликт. Это решило мою проблему. надеюсь, что это будет полезно для некоторых. : D

Смежные вопросы