Android 错误editext它无法在基本适配器的自定义布局(来自mysql数据库)中聚焦特定的内容
您好,先生,我正在自定义列表视图中从数据库获取项目名称,并将其附加到edittext。在比较完所有项目名称后,将其附加到Android 错误editext它无法在基本适配器的自定义布局(来自mysql数据库)中聚焦特定的内容,android,web-services,Android,Web Services,您好,先生,我正在自定义列表视图中从数据库获取项目名称,并将其附加到edittext。在比较完所有项目名称后,将其附加到edittext 如果我想更改itemname菜单,因为我正在单击edittext,它将关注另一个edittext 我的代码: public class EditMainMenulistview extends BaseAdapter { protected static Context Context = null; int i; public String editnewm
edittext
如果我想更改itemname菜单,因为我正在单击edittext,它将关注另一个edittext
我的代码:
public class EditMainMenulistview extends BaseAdapter {
protected static Context Context = null;
int i;
public String editnewmainmenu, menuname, edittext;
String qrimage;
Bitmap bmp, resizedbitmap;
Bitmap[] bmps;
Activity activity = null;
private LayoutInflater inflater;
private ImageView[] mImages;
String[] itemimage;
TextView[] tv;
String itemname, itemcode;
public String[] itemnames, itemcodes;
HashMap<String, String> map = new HashMap<String, String>();
public EditMainMenulistview(Context context, JSONArray imageArrayJson) {
Context = context;
// inflater =
// (LayoutInflater)activity.getSystemService(Context.LAYOUT_INFLATER_SERVICE);
// imageLoader=new ImageLoader(activity);
inflater = LayoutInflater.from(context);
this.mImages = new ImageView[imageArrayJson.length()];
this.bmps = new Bitmap[imageArrayJson.length()];
this.itemnames = new String[imageArrayJson.length()];
this.itemcodes = new String[imageArrayJson.length()];
try {
for (i = 0; i < imageArrayJson.length(); i++) {
JSONObject image = imageArrayJson.getJSONObject(i);
qrimage = image.getString("menuimage");
itemname = image.getString("menuname");
itemcode = image.getString("menucode");
itemnames[i] = itemname;
itemcodes[i] = itemcode;
byte[] qrimageBytes = Base64.decode(qrimage.getBytes());
bmp = BitmapFactory.decodeByteArray(qrimageBytes, 0, qrimageBytes.length);
int width = 100;
int height = 100;
resizedbitmap = Bitmap.createScaledBitmap(bmp, width, height, true);
bmps[i] = bmp;
mImages[i] = new ImageView(context);
mImages[i].setImageBitmap(resizedbitmap);
mImages[i].setScaleType(ImageView.ScaleType.FIT_START);
// tv[i].setText(itemname);
}
System.out.println(itemnames[i]);
} catch (Exception e) {
// TODO: handle exception
}
}
public int getCount() {
return mImages.length;
}
public Object getItem(int position) {
return position;
}
public long getItemId(int position) {
return position;
}
public View getView(final int position, View convertView, ViewGroup parent) {
final HashMap<String, String> map = new HashMap<String, String>();
View vi = convertView;
vi = inflater.inflate(R.layout.editmainmenulist, null);
final EditText text = (EditText) vi.findViewById(R.id.editmaimenu);
ImageView image = (ImageView) vi.findViewById(R.id.menuimage);
text.requestFocus();
image.setImageBitmap(bmps[position]);
text.append(itemnames[position]);
String edittext = text.toString();
// Toast.makeText(Context, edittext, Toast.LENGTH_LONG).show();
return vi;
}
公共类EditMainMenulistview扩展了BaseAdapter{
受保护的静态上下文=null;
int i;
公共字符串EditNewMain菜单、菜单名、edittext;
字符串图像;
位图bmp,调整大小的位图;
位图[]bmps;
活动=空;
私人充气机;
私有图像视图[]模拟图像;
字符串[]项图像;
TextView[]电视;
字符串itemname,itemcode;
公共字符串[]项名称、项代码;
HashMap=newHashMap();
公共EditMainMenulistview(上下文上下文,JSONArray imageArrayJson){
上下文=上下文;
//充气机=
//(LayoutInflater)activity.getSystemService(Context.LAYOUT\u充气机\u服务);
//imageLoader=新的imageLoader(活动);
充气器=充气器。从(上下文);
this.mImages=newImageView[imageArrayJson.length()];
this.bmps=新位图[imageArrayJson.length()];
this.itemnames=新字符串[imageArrayJson.length()];
this.itemcodes=新字符串[imageArrayJson.length()];
试一试{
对于(i=0;i
如果有人能够重播,请提及上述代码,这意味着您非常感激在getview()中使用text.requestFocus()的原因。假设您在listview中有10个可见项,则调用getview 10次。因此text.requestFocus()也被调用10次,因此如果我是delete text.requestFocus()的话,焦点将放在最后一个可见项上同样的问题也会发生。