Я решил эту проблему со следующим кодом.
$catArray=array();
$catIds=explode(',',$member['cat_id']);
if(!empty($catIds[0])){
foreach($catIds as $cat_id){
$catDetail=$this->Front_Category->get_category_detail($cat_id);
$catArray[]=$catDetail['allData']['cat_title'];
}
echo implode(',',$catArray);
}
Вы можете использовать тег requestFocus
:
<Button ...>
<requestFocus />
</Button>
Я считаю это странным, хотя он автоматически фокусирует одну из ваших кнопок, я не наблюдал этого поведения ни в одном из моих представлений.
Установите для обоих :focusable
и :focusableInTouchMode
значение true и вызовите requestFocus
. Это трюк.
Я нашел, что это сработало лучше для меня.
В AndroidManifest.xml <activity> element
add android:windowSoftInputMode="stateHidden"
Это всегда скрывает клавиатуру при вводе активности.
Используйте код ниже,
TableRow _tableRow =(TableRow)findViewById(R.id.tableRowMainBody);
tableRow.requestFocus();
, который должен работать.
Я просто добавляю эту строку кода в onCreate()
:
this.getWindow().setSoftInputMode(
WindowManager.LayoutParams.SOFT_INPUT_STATE_ALWAYS_HIDDEN);
Проблема решена.
@Someone Где-то я пробовал все вышеперечисленное безрезультатно. Исправление, которое я нашел, это http://www.helloandroid.com/tutorials/remove-autofocus-edittext-android . В принципе, вам нужно создать невидимый макет чуть выше проблемной кнопки:
<LinearLayout android:focusable="true"
android:focusableInTouchMode="true"
android:layout_width="0px"
android:layout_height="0px" >
<requestFocus />
</LinearLayout>
RelativeLayout
, содержащий EditText
.
– kaka
27 September 2012 в 13:49
@Someone Где-то я использовал это, чтобы очистить фокус:
editText.clearFocus();
и помогает