我的EditText
有問題。我用下面的適配器:ListView中的Android EditText - 鍵盤
public class RowTextViewAdapter extends BaseAdapter {
...
public View getView(int position, View convertView, ViewGroup parent) {
ViewHolder holder = null;
if (rowTitles.get(position).equals("edit")) {
if(et == null){
et = new EditText(activity);
et.setText("Test");
}
return et;
}
else {
convertView = new TextRow(activity);
holder = new ViewHolder(((TextRow) convertView).getTextView(), ((TextRow) convertView).getImageView());
convertView.setTag(holder);
holder.getTextView().setText(StringManager.getInstance().getText(rowTitles.get(position), activity));
holder.getImageView().setImageBitmap(assetController.getBitmap(additiveIcons.get(position) + ".png", null));
return convertView;
}
}
}
和ListActivity
:
public class AppSettingActivity extends ListActivity {
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
adapter = new RowTextViewAdapter(this);
adapter.addRowView("account", "arrowDw");
adapter.addRowView("password", "arrowDw");
setListAdapter(adapter);
}
...
protected void onListItemClick(ListView listView, View view, int position, long id) {
switch (position) {
case 0: accIsEditable = adapter.setEditable(position); break;
case 1:
if(accIsEditable) {
//TODO do something..
break;
}
pwIsEditable = adapter.setEditable(position);
break;
...
}
}
如果我在我的POS機添加一個新的列表項中的第一項點擊。 1(pos:0,1,2,...)。 現在將EditText
字段添加到列表中。
ListView:
---------------------------- -------------------------
Account v Account ^
---------------------------- ==> -------------------------
Passowrd v [::::::::EditText:::::::]
---------------------------- -------------------------
//more.. Password v
---------------------------- -------------------------
//more..
-------------------------
如果我現在點擊進入EditText
領域,它顯示的虛擬鍵盤,失去EditText
的焦點。我再次點擊並獲得焦點。但如果我寫東西,文字只顯示在EditText
字段,如果我點擊它,而不是頻繁的,而我正在寫...
任何想法來解決該更新問題?
這聽起來非常像這個問題:http://stackoverflow.com/questions/6918494/edit-text-in-listactivity- listview-looses-focus-when-keyboard-comes-up 希望它有幫助:-) – atraudes
嗯,我也有那些焦點問題。我試了一下:'addTextChangedListener' - >調試是正確的 - 顯示正確的文本。 – Javatar
但我不知道如何設置文本('EditText.setText(「新的監聽器文本」)')沒有例外。 我還沒有找到在EditText上再次設置FOCUS的方法。我唯一能做的就是調用'getInstance()。notifyDataSetChanged()',但是之後我必須再次手動點擊EditText字段,它只寫入一個字母.. 使用'EditText.requestFocus )'鍵盤沒有出現,並且EditText不再可以被聚焦 – Javatar