0

私は学生の詳細アプリケーションに取り組んでいます。すべての学生の詳細を sqlite データベースに保存し、sqlite ファイルを assets フォルダーに保存しました。学生の写真も表示する必要があります。そのために、データベースに列を保持し、生徒の画像名を保存しました。現在、生徒の名前をリストビューに表示しています。学生の名前をクリックすると、その特定の学生のすべての詳細が写真とともに表示される必要があります。特定の生徒の写真を表示するにはどうすればよいですか? 生徒の写真は drawable フォルダーに保管しました。

私のコード:

学生.xml

<ImageView 
android:layout_width="wrap_content" 
android:layout_height="wrap_content" 
android:id="@+id/yes" 
android:src="@drawable/photo"/> 

学生.java

Bitmap image = BitmapFactory.decodeResource(getResources(),R.drawable.photo); 

ImageView Image1 = (ImageView) findViewById(R.id.yes); 

Image1.setImageBitmap(image ); 

これに関して私を助けてください....事前に感謝します

4

6 に答える 6

1

学生の写真ID(描画可能ID)をDBに保存する必要があります。

ユーザーがリストビューで学生名をクリックすると、DBからその学生の写真描画可能IDを取得します。

また

すべての学生の写真描画可能IDをListviewliに保存します。そのLiがクリックすると、InvisibleがそのIDを取得します。

于 2012-05-04T06:27:21.730 に答える
0

生徒の写真を描画可能なフォルダに保存しました。

ImageviewにBackgroundDrawableを設定します。

 ImageView im =(ImageView)findViewById(R.id.imageview);
  im.setBackgroundDrawable(R.drawable.photo);
于 2012-05-04T06:27:37.790 に答える
0

sqlite から学生の画像名を取得し、その後はこの方法で行います

ここで、StudentImageName は文字列です

int resID = getResources().getIdentifier("Your Package Name:drawable/" + StudentImageName, null, null); 
ImageView Image1 = (ImageView) findViewById(R.id.yes); 
Image1.setImageResource(resID); 

imageviewに設定する前に、ドローアブルに画像が存在することを確認します

あなたも試すことができます

int resID = getResources().getIdentifier("Your Package Name:drawable/" + StudentImageName, null, null); 
Bitmap image = BitmapFactory.decodeResource(getResources(),resID); 
ImageView Image1 = (ImageView) findViewById(R.id.yes); 
Image1.setImageBitmap(image)
于 2012-05-04T06:45:31.963 に答える
0

データベースに学生データを挿入するときに写真を含めます。これを行うには、ビットマップをバイト配列に変換します。

Bitmap image = BitmapFactory.decodeResource(getResources(),R.drawable.photo); 
ByteArrayOutputStream stream = new ByteArrayOutputStream();
bmp.compress(Bitmap.CompressFormat.PNG, 100, stream);
byte[] byteArray = stream.toByteArray();

(画像列はフィールドタイプとしてBLOBを受け入れる必要があります)次に、画像をもう一度表示したいときはいつでもデータベースからバイト配列を取得し、それをビットマップに変換してImageView内に表示できるようにします

ビットマップ bitmap = BitmapFactory.decodeByteArray(byteArray , 0, byteArray.length);

「Android の sqlite データベースに画像データを挿入する方法とそれを取得する方法」の詳細については、このリンクを確認して ください http://www.tutorialforandroid.com/2009/10/how-to-insert-image-data -to-sqlite.html

于 2012-05-04T07:11:23.417 に答える
0
<ImageView 
android:layout_width="wrap_content" 
android:layout_height="wrap_content" 
android:id="@+id/yes" 
android:src="@drawable/photo"/> 



Drawable d = getResources().getDrawable(R.drawable.photo);
Bitmap bitmap = ((BitmapDrawable) d).getBitmap();
ImageView Image1 = (ImageView) findViewById(R.id.yes); 
Image1.setImageBitmap(bitmap); 
于 2012-05-04T06:25:27.630 に答える
0

私が理解したように、学生の詳細はすべてsqliteファイルにあり、学生の名前はdrawableフォルダーにあり、次のことができます1.学生に一意のIDを与えます2.画像名に同じIDを参照します

次に、Sqlite ファイルから学生の詳細にアクセスし、対応する画像を表示します。簡単に参照できるように、描画可能なリソースの配列を作成できます。

于 2012-05-04T06:32:26.827 に答える