2017-09-11 16 views
0

私はリストビューに編集テキストを持っています。 Listviewはベースアダプタを使用して作成され、使用されたホルダーは編集テキストを読み込みます。Listview - フォーカスが常にfalseを返す

私がholder.edtText.hasFocus()を呼び出すと、常にfalseが返されます。私がListViewプロパティに欠けているものは何ですか?あなたのListViewに

+0

は私たちにあなたがしたcode.Whatを表示? –

+0

これは私のもう1つの質問から続く継続的な質問https://stackoverflow.com/questions/46157686/listview-multi-selector-issue?noredirect=1#comment79281723_46157686 –

+0

達成したいことを言及してください。 –

答えて

1

てみこれをやって試してみてください、

static boolean b= true; 
if(b == true){ 
    et.requestFocus(); 
    b= false; 
} 
+0

いいえ、これがあります。 –

1

android:descendantFocusability="afterDescendants" 

を追加

public View getView(final int position, View convertView, final 
    ViewGroup parent) 
    {
    
     
    if (convertView == null) 
    {
      
    LayoutInflater inflater = LayoutInflater.from(getContext());
       

    convertView = inflater.inflate(R.layout.screen, parent, false);
      
    holder = new Adapter.ViewHolder(convertView);
      
    convertView.setTag(holder);
     
    } 
    else 
    {
      
    holder = (Adapter.ViewHolder) convertView.getTag();
   
    }
    
    
     
    holder.edt.setCursorVisible(holder.edt.hasFocus());
     
    holder.edt.setEnabled(true);
    
     
    holder.edt.setTag(R.string.view, “some object”); 

     
    if (position == 10) 
    {
      
    holder.edt.requestFocus();
     
    } 

   holder.edt.setFilters(new Filter());
  
     
    holder.edt.addTextChangedListener(new Watcher());
  
     
    holder.edt.setText(“text”);
         
      
     
    holder.edt.setSelection(text.length);
    
    holder.edt.setSelectAllOnFocus(true);
  
    
    return convertView; 
    
  } 

    public class ViewHolder extends RecyclerView.ViewHolder 
    {
     
    public EditText edit;
   
    
    public ViewHolder(View itemView) 
    {
     
     super(itemView);
   
     edt = (EditText) itemView.findViewById(R.id.edt);
    
    } 
    
  } 
関連する問題