Jav*_*tar 20 android listview android-edittext
我遇到了问题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;
}
}
}
Run Code Online (Sandbox Code Playgroud)
并且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;
...
}
}
Run Code Online (Sandbox Code Playgroud)
如果我点击第一个项目,我在pos上添加一个新的列表项.1(pos:0,1,2,...).现在该EditText字段已添加到列表中.
ListView:
---------------------------- -------------------------
Account v Account ^
---------------------------- ==> -------------------------
Passowrd v [::::::::EditText:::::::]
---------------------------- -------------------------
//more.. Password v
---------------------------- -------------------------
//more..
-------------------------
Run Code Online (Sandbox Code Playgroud)
如果我现在点击该EditText字段,它会显示虚拟键盘并失去焦点EditText.我再次点击它会获得焦点.但是,如果我写一些东西,文字只会在EditText现场展示,如果我点击它而不是经常在我写作的时候......
有什么想法解决这个更新问题?
eye*_*yus 39
如果这仍然是个问题,请看一下这个项目:ListView中的Focusable EditText
这种变化可能有所帮助
更改为listview:
<ListView
android:id="@android:id/list"
android:layout_height="fill_parent"
android:layout_width="fill_parent"
android:descendantFocusability="beforeDescendants"
/>
Run Code Online (Sandbox Code Playgroud)
更改为mainfest.xml中的活动:
<activity android:name= ".yourActivity" android:windowSoftInputMode="adjustPan"/>
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
19631 次 |
| 最近记录: |