2016-09-19 19 views
0

私は、アイコン選択ウィンドウからホームメニューにアイコンを追加するプロセスを進めています。ユーザーがいくつかのアイコンを選択した場合、次回にユーザーがアイコンを追加ボタンをクリックすると、ウィンドウにはチェックされたアイコンが表示されます。私が正しくあなたのコードを理解し、あなたが持っている疑問がicon_name_valを使用する場合は はここに私のコード描画可能なイメージから一意のIDを取得する方法。

private void getAlreadyTicked() { 
    Log.d("getAlreadyTicked", "getAlreadyTicked"); 
    //getting already ticked values for selection page 
    String icon_name_val = null, icon_link_val = null, icon_flag_val = null; 
    List<HomeIconset> icondetails = dbh.geticondetails(); 
    for (HomeIconset sp : icondetails) { 
     icon_name_val = sp.getIcon_name(); 
     icon_link_val = sp.getIcon_link(); 
     icon_flag_val = sp.getIcon_flag(); 

     intSelected = null; 
     intSelected = new Integer[19]; 
     String[] stringIconName = {"paymoneyimg", "recieve", 
       "load", "buysell", 
       "gas", "electricity", 
       "mobileimg", "movie", 
       "buyforex", "sellforex", 
       "travelcard", "send", 
       "flight", "bus", 
       "hotel", "holiday", 
       "gold", "vehicleloan", 
       "personalloan", "insuranceimg"}; 

     for (int i = 0; i < 19; i++) { 
      String imgName; 
      Drawable drawableImgName = null; 
      Bitmap result; 
      Drawable[] drawableImgNameArray = new Drawable[19]; 
      if (icon_name_val.equals(stringIconName[i])) { 
       int resID = getResources().getIdentifier(icon_name_val, "drawable", getActivity().getPackageName()); 
       Bitmap bitmapbus = BitmapFactory.decodeResource(getResources(), R.drawable.bus); 

       Bitmap bitmap1 = BitmapFactory.decodeResource(getResources(), resID); 
       Bitmap resized = Bitmap.createScaledBitmap(bitmap1, bitmapbus.getWidth(), bitmapbus.getHeight(), true); 

       Bitmap bitmap2 = BitmapFactory.decodeResource(getResources(), R.drawable.tick); 
       // Bitmap resultBitmap = Bitmap.createBitmap(bitmap2.getWidth(), bitmap2.getHeight(), Bitmap.Config.ARGB_8888); 
       Bitmap resultBitmap = Bitmap.createBitmap(bitmapbus.getWidth(), bitmapbus.getHeight(), Bitmap.Config.ARGB_8888); 
       Canvas c = new Canvas(resultBitmap); 
       c.drawBitmap(resized, 0, 0, null); 
       c.drawBitmap(bitmap2, 0, 0, null); 
       drawableImgName = new BitmapDrawable(getResources(), resultBitmap); 

       result = resultBitmap; 
       ImageView im = new ImageView(getActivity()); 
       //im.setTag(icon_name_val+i); 
       im.setImageDrawable(drawableImgName); 
       // String name = getActivity().getResources().getResourceEntryName(drawableImgName); 
       Log.d("tickedimage", String.valueOf(String.valueOf(drawableImgName)) + " ..." + im.getResources()); 



      } else { 
       int resID = getResources().getIdentifier(icon_name_val, "drawable", getActivity().getPackageName()); 
       Bitmap bitmap1 = BitmapFactory.decodeResource(getResources(), resID); 

       drawableImgName = getResources().getDrawable(getResources().getIdentifier(icon_name_val, "drawable", getActivity().getPackageName())); 
       result = bitmap1; 
      } 
      // drawableImgNameArray[i]=drawableImgName; 
      // Bitmap bitmap = BitmapFactory.decodeResource(getResources(), drawableImgNameArray[19]); 


      intSelected[i] = getResources().getIdentifier(drawableImgName, "drawable", myContext.getPackageName()); 

     } 
     for (int j = 0; j < intSelected.length; j++) { 
      Log.d("imgarraysf", String.valueOf(intSelected[j])); 
     } 


    } 
} 
+0

intSelected [I] = getResources()getIdentifier(drawableImgName、 "描画可能"、myContext.getPackageName())。ここで私はdrawableImgNameを置き換える必要があります。パラメータは文字列 – gStephin

答えて

0

です。ある 、

intSelected[i] = getResources().getIdentifier(icon_name_val, "drawable", myContext.getPackageName());
+0

にする必要がありますが、drawableImgNameの値を整数配列に設定する必要があります。 – gStephin

+0

整数配列のドロワブルを変換しますか?どうして? – Vyacheslav

+0

ここでdrawableimagenameは2つの他のイメージから形成されており、このdrawableimagenameはどこにも格納されていません。 – gStephin

関連する問題