我用一個ListView關注。列表中的每個項目都包含一個編輯文本。當我點擊一個編輯文本時,軟鍵彈出,我點擊的編輯文本在短時間內獲得焦點,然後失去它。我必須單擊第二次真正的焦點(爲什麼?)EDITTEXT保持在鍵盤的上和滾動列表視圖
(重點的editext和鍵盤了)我滾動列表視圖 ...
因爲列表視圖元素被回收,焦點再次出現上的EditText在列表中的其他位置,我想這是正常的,但爲什麼安卓不能刪除這個該死的焦點!?我怎麼能說,Android的確定如果我的用戶開始滾動,我不希望重點放在edittext上?
下面是活動的代碼:
public class SimpleList extends Activity {
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.user_picker);
ListView listview = (ListView)this.findViewById(R.id.user_picker_list);
new UserPickerAdapter(this, listview);
}
和適配器的代碼:
public class UserPickerAdapter extends BaseAdapter {
private final LayoutInflater mInflater;
private String[] mUsers = {"Guib", "Jonas", "Fred", "Denis", "Arnold", "Francois", "David", "Alex", "Saskia", "Verner", "Anatole"};
public UserPickerAdapter(Context context, ListView listview) {
mInflater = LayoutInflater.from(context);
listview.setAdapter(this);
}
@Override
public int getCount() {
return mUsers.length;
}
@Override
public Object getItem(int position) {
return mUsers[position];
}
@Override
public long getItemId(int position) {
return position;
}
static private class Holder {
TextView username;
}
@Override
public View getView(int position, View convertView, ViewGroup arg2) {
Holder holder;
if (convertView != null) {
holder = (Holder) convertView.getTag();
} else {
holder = new Holder();
convertView = mInflater.inflate(R.layout.user_picker_list_item,null);
holder.username = (TextView) convertView.findViewById(R.id.user_picker_list_item_name);
convertView.setTag(holder);
}
String str = (String)getItem(position);
holder.username.setText(str);
return convertView;
}
以防萬一,這裏是 'user_picker.xml'
代碼<?xml version="1.0" encoding="utf-8"?><LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_height="fill_parent" android:layout_width="fill_parent" android:orientation="vertical" android:padding="0dp"><ListView android:background="@color/color_grey1" android:cacheColorHint="@color/color_grey1" android:id="@+id/user_picker_list" android:divider="@color/color_blueGrey1" android:layout_height="match_parent" android:layout_width="match_parent"/>
,一個在「user_picker_list_item.xml」
<?xml version="1.0" encoding="utf-8"?><LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="fill_parent" android:orientation="vertical" android:layout_height="fill_parent"><EditText android:layout_height="wrap_content"android:id="@+id/user_picker_list_item_name" android:layout_width="wrap_content" android:minWidth="200dp" android:layout_gravity="center"></EditText></LinearLayout>
[ListView中可Focusable EditText]可能的重複(http://stackoverflow.com/questions/2679948/focusable-edittext-inside-listview) – blahdiblah 2013-11-01 01:09:39