0

リストビュー項目を使用して、あるアクティビティから別のアクティビティに画像を渡そうとしていますが、このエラー行が表示されます

メソッド setImageResource(int)

画像ビューは引数(文字列)に適用されず、行のこの時点ではタイプです:-

lblImage.setImageResource(画像);

このエラーを削除するために何を書く必要があるのか​​ わかりません。誰かが私をサポートして、この行に収まるように正確なコードを書いてください。ここでは、参照用にいくつかのコードも配置しています。

    SingleMenuItem(Activity to fetch Image with some text data)::

   public void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.single_list_item);

    // getting intent data
    Intent in = getIntent();

    // Get XML values from previous intent

    String title = in.getStringExtra(KEY_TITLE);
    String artist = in.getStringExtra(KEY_ARTIST);
    String duration = in.getStringExtra(KEY_DURATION);
    String Image = in.getStringExtra(KEY_THUMB_URL);
    //Bitmap bitmap =(Bitmap) in.getParcelableExtra(KEY_THUMB_URL);

    // ImageView image = (ImageView)findViewById(R.id.thumb_url);


    // Displaying all values on the screen
    TextView lblName = (TextView) findViewById(R.id.name_label);
    TextView lblCost = (TextView) findViewById(R.id.email_label);
    TextView lblDesc = (TextView) findViewById(R.id.mobile_label);
    ImageView lblImage = (ImageView) findViewById(R.id.image_label);

    //image.setImageBitmap(bitmap); 

    lblName.setText(title);
    lblCost.setText(artist);
    lblDesc.setText(duration);
    lblImage.setImageResource(Image); //Getting Error at this line only
    //the method setImageResource(int) is the type Image View is not
    // applicable for the argument(string)
    }
    }

    ActivityCode (to pass image and text data)
            public void onItemClick(AdapterView<?> parent, View view,
                int position, long id) {
         // getting values from selected ListItem
            String title = ((TextView) view.findViewById
                            (R.id.title)).getText().toString();
            String artist = ((TextView) view.findViewById(
                             R.id.artist)).getText().toString();
            String duration = ((TextView) view.findViewById
                            (R.id.duration)).getText().toString();
                  // byte[] array = null;
              // Bitmap thumb_url = BitmapFactory.decodeByteArray
                            (array, 0, array.length);
            String Image=((ImageView)view.findViewById
                            (R.id.list_image)).getImageMatrix().toString();


            // Starting new intent
            Intent in = new Intent
                            (getApplicationContext(),  SingleMenuItemActivity.class);
            in.putExtra(KEY_TITLE, title);
            in.putExtra(KEY_ARTIST, artist);
            in.putExtra(KEY_DURATION, duration);
            in.putExtra(KEY_THUMB_URL, Image);
            //in.putExtra(KEY_THUMB_URL, thumb_url);
            startActivity(in);

        }
4

2 に答える 2

0

整数を必要とする setImageResource() に String を渡しています。

リソース ID は実際には整数です。コードで R.drawable.myImage を参照する場合、これはコンパイラによって作成された自動生成コード (R.java) の整数リソースを参照しています。

リソース文字列から画像を読み込むには(非推奨)、Android - @drawable 文字列からリソースを開くを参照してください。

于 2012-09-27T05:43:31.197 に答える
0

これは、画像文字列ではなく画像 ID に対して機能します

イメージビューにイメージを表示する場合は、次のようにします。

 lblImage.setImageResource(R.drawable.image);

また

要件に応じて、imag リンクから Drawable を取得する必要があります。このコードを使用すると、画像ドローアブルを取得してから画像ビューに設定できます

public static Drawable LoadImageFromWebOperations(String url) {
   try {
      InputStream is = (InputStream) new URL(url).getContent();
      Drawable d = Drawable.createFromStream(is, "src name");
      return d;
   } catch (Exception e) {
      return null;
   }
}

この関数を呼び出して、ドローアブルを次のように画像ビューに設定します。

Drawable image = LoadImageFromWebOperations(Image); // Image means iamge url getting                                     
                                                       from previous activity
imageview.setImageDrawable(image);
于 2012-09-27T05:44:57.463 に答える