设置重点的EditText ListView中我检查了所有可能的解决方案来处理的EditText的焦点在ListView。 我有一个片段中的ListView。此ListView的适配器由ImageButton,ImageView和EditText组成。我想要EditText可调焦。 我尝试了一些解决方案,其中之一是:在片段
public class HomeFragment extends Fragment {
FileAdapter adapter;
ListView lv;
@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container,
Bundle savedInstanceState) {
final View view = inflater.inflate(R.layout.fragment_home, container, false);
lv = (ListView)view.findViewById(R.id.listView);
adapter = new FileAdapter(getActivity().getApplicationContext(), list);
lv.setOnItemSelectedListener(new AdapterView.OnItemSelectedListener() {
@Override
public void onItemSelected(AdapterView<?> adapterView, View view, int position, long l) {
if (position == 1){
lv.setItemsCanFocus(true);
lv.setDescendantFocusability(ViewGroup.FOCUS_AFTER_DESCENDANTS);
adapter.nome.requestFocus();
}else{
if (!lv.isFocused()){
lv.setItemsCanFocus(false);
lv.setDescendantFocusability(ViewGroup.FOCUS_BEFORE_DESCENDANTS);
lv.requestFocus();
}
}
}
@Override
public void onNothingSelected(AdapterView<?> adapterView) {
lv.setDescendantFocusability(ViewGroup.FOCUS_BEFORE_DESCENDANTS);
}
});
lv.setAdapter(adapter);
return view;
}
}
然后在我的XML文件,我在ListView中有android:descendantFocusability="beforeDescendants"
。
这里是我FileAdapter类:
public class FileAdapter extends ArrayAdapter<Files> {
LayoutInflater inflater;
EditText nome;
private final Context context;
private ArrayList<Files> list;
public FileAdapter(Context context, ArrayList<Files> list) {
super(context, R.layout.homeadapter, list);
this.context = context;
this.list = list;
}
@Override
public View getView(final int position, View convertView, ViewGroup parent) {
final LayoutInflater inflater = (LayoutInflater) context.getSystemService(Context.LAYOUT_INFLATER_SERVICE);
convertView = inflater.inflate(R.layout.homeadapter, null);
nome = (EditText) convertView.findViewById(R.id.tvNomeFile);
return convertView;
}
}
很明显,我把这里只有有用的部分我的代码,因为我说我的适配器也有其他的元素,但无用的问题之前。 我试过的解决方案不起作用,所以我正在寻找另一个。
使用'的OnItemClick'代替'OnItemSelected' – kId 2014-12-04 09:01:13
@kaushik它不工作 – 2014-12-04 09:04:31
做ü需要什么'点击event'的行或者只有'ImageView'和'EditText'? – kId 2014-12-04 09:10:22