Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/202.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Android 当键盘弹出时,显示/隐藏listview中的编辑文本将不可见_Android_Listview_Keyboard_Popup_Android Edittext - Fatal编程技术网

Android 当键盘弹出时,显示/隐藏listview中的编辑文本将不可见

Android 当键盘弹出时,显示/隐藏listview中的编辑文本将不可见,android,listview,keyboard,popup,android-edittext,Android,Listview,Keyboard,Popup,Android Edittext,我有一个自定义Listview,其适配器扩展了BaseAdapter类。listview中的每一行中都有一个不可见的EditText。它只对已单击的特定行可见,而在该行的其余部分它仍然不可见。当我触摸edittext以获取键盘时,问题出现了,键盘一出现,listview就被回收,edittext再次变为不可见。 我正在寻找一种解决方案,即选择该行后,键盘会立即聚焦于edittext,或者当键盘弹出时,edittext不会消失。以下是我正在使用的适配器: 这是我的适配器xml文件 已保存的\u选项

我有一个自定义Listview,其适配器扩展了BaseAdapter类。listview中的每一行中都有一个不可见的EditText。它只对已单击的特定行可见,而在该行的其余部分它仍然不可见。当我触摸edittext以获取键盘时,问题出现了,键盘一出现,listview就被回收,edittext再次变为不可见。 我正在寻找一种解决方案,即选择该行后,键盘会立即聚焦于edittext,或者当键盘弹出时,edittext不会消失。以下是我正在使用的适配器:

这是我的适配器xml文件 已保存的\u选项\u适配器\u content.xml

<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout android:id="@+id/lineItem"
    xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:gravity="center_vertical"
    >
<TextView 
    android:id="@+id/textLine"
    android:layout_height="wrap_content"
    android:layout_marginLeft="70dp"
    android:layout_marginTop="15sp"
    android:layout_marginBottom="5sp"
    android:textSize="14sp"
    android:paddingTop="-5dp"
    android:layout_width="wrap_content"/>

<LinearLayout 
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:orientation="horizontal"
    android:layout_alignParentRight="true">

<EditText 
    android:id="@+id/edittext_qty"
    android:visibility="invisible"
    android:gravity="center"
    android:layout_height="wrap_content"
    android:layout_width="wrap_content"
    android:singleLine="true"
    android:maxLength="4"
    android:textSize="14sp"
    android:inputType="numberPassword"
    android:focusable="true"
    android:textColor="@android:color/black"
    android:hint="cvv"/>
</LinearLayout>
</RelativeLayout>

我在代码中没有看到listview。也许ArrayAdapter可以帮助您:

payOptionList=ListView returnView.findViewByIdR.id.list;payOptionList.setFocusableInTouchModetrue;我在创建ListView时没有问题。当键盘弹出时,ListView回收出现问题
public View getView(final int position, View convertView, final ViewGroup parent) 
             { 
             final ViewHolder holder;
                 if (convertView == null) 
                     {
                         convertView = mInflater.inflate(R.layout.saved_options_adapter_content, null);
                         holder = new ViewHolder();
                         holder.textLine = (TextView) convertView.findViewById(R.id.textLine);
                         holder.Edittext = (EditText) convertView.findViewById(R.id.edittext_qty);

                        editTextList.add(holder.Edittext);                  
                         convertView.setOnClickListener(new OnClickListener() 
                         {
                                 @Override
                                 public void onClick(final View v) 
                                     { 
selected_Txt="";
                                     if(view==null || view!=v){
                                     v.post(new Runnable() {
                                            @Override
                                            public void run() {
                                                view=v;
                                                  ViewHolder holder = ((ViewHolder)v.getTag()); 
                                                 holder.Edittext.setVisibility(View.VISIBLE);
                                                  holder.Edittext.requestFocus();
                                                 holder.Edittext.setCursorVisible(true);
                                                holder.Edittext.setFocusable(true); 
                                               if(selectedHolder != null ){
                                                selectedHolder.Edittext.setVisibility(View.INVISIBLE);
                                                }
                                                selectedHolder = holder; 
                                            }
                                        }); 
                                     }
                                     }
                         });

                         convertView.setTag(holder);
                     } 
                 else 
                     {
                     holder = (ViewHolder) convertView.getTag();
                    ((ViewHolder)convertView.getTag()).Edittext.setTag(title.get(position));
                     }

                  convertView.setTag(holder);
                 return convertView;
             }