我知道当你允许焦点到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;
}
答案 0 :(得分:0)
我认为你不能这样做。 http://www.youtube.com/watch?v=wDBM6wVEO70 视频很长,但列表视图很棒。有一次他们解释说,这会让应用程序混淆你知道你选择的项目。我会考虑添加另一个按钮或设置longclicklistener()并在列表视图中的所有项目之间共享它。