2012-04-11 22 views
0
 listview 
     jArray = new JSONObject(result); 
     json = jArray.getJSONArray("mainmenu"); 
     list = (ListView) findViewById(R.id.mainmenulist); 
     adapter = new EditMainMenulistview(this, json); 
     list.setAdapter(adapter); 
     EditMainMenulistview 

     public class EditMainMenulistview extends BaseAdapter { 
public final ArrayList<String> arr=new ArrayList<String>(); 
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(int position, View convertView, ViewGroup parent) { 
    final ViewHolder holder; 


    if (convertView == null) { 
     holder = new ViewHolder(); 
     convertView = inflater.inflate(R.layout.editmainmenulist, null); 
     holder.caption = (EditText) convertView 
       .findViewById(R.id.editmaimenu); 
     holder.caption1=(ImageView) convertView.findViewById(R.id.menuimage); 
     convertView.setTag(holder); 
    } else { 
     holder = (ViewHolder) convertView.getTag(); 
    } 
    //Fill EditText with the value you have in data source 
    holder.caption.setText(itemnames[position]); 
    holder.caption.setId(position); 
    holder.caption1.setImageBitmap(bmps[position]); 

    //we need to update adapter once we finish with editing 
    holder.caption.setOnFocusChangeListener(new OnFocusChangeListener() { 
     public void onFocusChange(View v, boolean hasFocus) { 
     if(!hasFocus) 
     { 
       final int position = v.getId(); 
       final EditText Caption = (EditText) v; 

       holder.caption.setFocusable(true); 

       arr.add(holder.caption.getText().toString()); 


     } 
      } 

    }); 



    return convertView; 
} 
} 

    class ViewHolder { 
EditText caption; 
ImageView caption1; 
    } 

    class ListItem { 
String caption; 
} 

如果我可以更改所有ediitext值併發送到mysql數據庫我可以替換舊menunames。如果我cange 2 menunames我無法更新..請告訴我..................................... ........................更新更改自定義列表視圖的edittext值到Android中的mysql數據庫

+1

再次閱讀你的問題,並告訴我們,如果你能理解的東西..這是你問同樣的問題第三次......請更清楚還包括你迄今爲止做了什麼.. – ngesh 2012-04-11 03:43:56

+0

先生請建議我如何更新多個更改editext值到MySQL數據庫 – Vinoth 2012-04-11 03:46:01

+0

我附上我的屏幕快照請參閱 – Vinoth 2012-04-11 03:51:23

回答

0

使用getText()方法..獲取所有這些值,然後更新您的數據庫(但我不認爲這是你在找什麼...但你的問題是不明確)..

這裏有您需要按照步驟..

使用findViewByID()然後使用gettext方法對所有的公益EditTexts引用得獲取所有這些文本,然後用這些值更新數據庫..

相反,ArrayList中使用的HashMap的..並在代碼中進行這些更改..

public class EditMainMenulistview extends BaseAdapter { 
public final HashMap<String, String> arr=new HashMap<String, String>; 
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(int position, View convertView, ViewGroup parent) { 
    final ViewHolder holder; 


    if (convertView == null) { 
     holder = new ViewHolder(); 
     convertView = inflater.inflate(R.layout.editmainmenulist, null); 
     holder.caption = (EditText) convertView 
       .findViewById(R.id.editmaimenu); 
     holder.caption1=(ImageView) convertView.findViewById(R.id.menuimage); 
     convertView.setTag(holder); 
    } else { 
     holder = (ViewHolder) convertView.getTag(); 
    } 
    //Fill EditText with the value you have in data source 
    holder.caption.setText(itemnames[position]); 
    holder.caption.setId(position); 
    arr.add(position,itemnames[position]); 
    holder.caption1.setImageBitmap(bmps[position]); 

    //we need to update adapter once we finish with editing 
    holder.caption.setOnFocusChangeListener(new OnFocusChangeListener() { 
     public void onFocusChange(View v, boolean hasFocus) { 
     if(!hasFocus) 
     { 
       final int position = v.getId(); 
       final EditText Caption = (EditText) v; 

       holder.caption.setFocusable(true); 
       arr.remove(holder.caption.getId()); 
       arr.add(holder.caption.getId(),holder.caption.getText().toString()); 


     } 
      } 

    }); 



    return convertView; 
} 
} 

    class ViewHolder { 
EditText caption; 
ImageView caption1; 
    } 

    class ListItem { 
String caption; 
} 
+0

請看現在..你明白我的問題 – Vinoth 2012-04-11 04:06:27

+0

arr。添加(位置,itemNames中[位置]);它顯示錯誤。它問你想要添加類型轉換 – Vinoth 2012-04-11 04:21:00

+0

@Vinoth ..做它的工作.. – ngesh 2012-04-11 04:33:54