2

スピナーとイメージボタンがあります。スピナーには、パッケージ マネージャーから取得したラベルが読み込まれます。ユーザーが新しいラベルを選択すると、imagebutton はドローアブルを更新する必要があります。

これまでの私のコードは次のとおりです。

    @Override
public void onItemSelected(AdapterView<?> parent, View view, int position, long arg3) {

    Spinner spinner = (Spinner) findViewById(R.id.spinner); 
    spinner.setOnItemSelectedListener(this);
    PackageManager pm = getPackageManager();
    Drawable icon = (Drawable) (parent.getItemAtPosition(position));
    ImageButton image = (ImageButton) findViewById(R.id.appIcon);
    image.setImageDrawable(icon.loadIcon(pm));

}       

「loadIcon」に次のエラー メッセージがあります。

メソッド loadIcon(PackageManager) は Drawable 型に対して定義されていません

これを機能させる方法のヒントやアイデアはありますか?

4

1 に答える 1

1

このように書き換えます。それが動作します

Spinner spinner = (Spinner) findViewById(R.id.spinner); 
spinner.setOnItemSelectedListener(this);
PackageManager pm = getPackageManager();
Drawable icon = (Drawable) (parent.getItemAtPosition(position));
ImageButton image = (ImageButton) findViewById(R.id.appIcon);
image.setBackgroundDrawable(icon);
于 2012-12-31T11:47:36.987 に答える