Android:ListView中的EditText是否可以聚焦以及列表项?

时间:2011-07-20 04:02:23

标签: android listview focus android-edittext

我知道当你允许焦点到ListView中的任何“可聚焦”对象时,它会禁用聚焦ListView本身的能力。我在ListView项目中有一个EditText和几个按钮,但我也希望能够将ListMenu与ListView一起使用,因此我需要能够保持焦点。有没有办法覆盖,以便我的ListView和EditText框都可以获得焦点?我假设它是否可能在自定义适配器中完成。我正在使用SimpleCursorAdapter并在NewView方法中管理我的按钮单击。我的代码如下:

public class GrainListAdapter extends SimpleCursorAdapter {

private Button upButton;

public GrainListAdapter(Context context, int layout, Cursor c, String[] from, int[] to) {
    super(context, layout, c, from, to);
}

@Override
public void bindView(View view, Context context, Cursor cursor) {
    int nameColumn = cursor.getColumnIndex("name");
    String getName = cursor.getString(nameColumn);
    TextView name = (TextView)view.findViewById(R.id.GrainName);
    name.setText(getName);

    int originColumn = cursor.getColumnIndex("origin");
    String getOrigin = cursor.getString(originColumn);
    TextView origin = (TextView)view.findViewById(R.id.GrainOrigin);
    origin.setText(getOrigin);

    int lbsColumn = cursor.getColumnIndex("lbs");
    String getLbs = cursor.getString(lbsColumn);
    EditText lbs = (EditText)view.findViewById(R.id.GrainLbs);
    lbs.setText(getLbs);
}

@Override
public View newView(Context context, Cursor cursor, ViewGroup parent) {
    View view = View.inflate(context, R.layout.grain_list_item, null);
    upButton = (Button)view.findViewById(R.id.UpLbsButton);
    upButton.setOnClickListener(new OnClickListener(){

        @Override
        public void onClick(View v) {
            Log.i("Grain Adapter Action", "Button CLICKED!!!");
        }
    });
    return view;
}

1 个答案:

答案 0 :(得分:0)

我认为你不能这样做。 http://www.youtube.com/watch?v=wDBM6wVEO70 视频很长,但列表视图很棒。有一次他们解释说,这会让应用程序混淆你知道你选择的项目。我会考虑添加另一个按钮或设置longclicklistener()并在列表视图中的所有项目之间共享它。