2017-05-01 25 views
0

SQLiteDatabaseからバイト配列を取得し、Bitmapに変換してイメージビューに追加しています。私は縦にスクロールするイメージビューのリストとしてイメージを印刷したいと思います。しかし、ビューを追加しようとすると、LinearLayoutに追加された最初のイメージだけが印刷され、残りのイメージは印刷されません。 onCreateでImageViewをLinearLayoutに動的に追加する方法

()

root = (LinearLayout) findViewById(R.id.photoFeedLayout); 

レイアウト

<?xml version="1.0" encoding="utf-8"?> 
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" 
    xmlns:app="http://schemas.android.com/apk/res-auto" 
    xmlns:tools="http://schemas.android.com/tools" 
    android:layout_width="match_parent" 
    android:layout_height="match_parent" 
    android:orientation="vertical" 
    android:id="@+id/photoFeedLayout" 
    tools:context="com1032.cw2.ms01288.ms01288_assignment2.PhotoFeed"> 


</LinearLayout> 

そして、私のPhotoFeed.javaで

public void run() { 
    do { 
     byte[] imData = images.getBlob(images.getColumnIndex("IMAGEDATA")); 
     Bitmap bm = BitmapFactory.decodeByteArray(imData, 0, imData.length); 

     LinearLayout.LayoutParams imParams = 
             new LinearLayout.LayoutParams(LinearLayout.LayoutParams.WRAP_CONTENT, LinearLayout.LayoutParams.WRAP_CONTENT); 

     ImageView iv = (ImageView) new ImageView(getApplicationContext()); 

     iv.setImageBitmap(bm); 

     root.addView(iv,imParams); 

     } while (images.moveToNext()); 
    } 

すべてのImageViewをルートレイアウトに動的に追加して縦方向に印刷する方が良いでしょうか?

+1

テイクリストビューは、それが表示されますが、垂直 – sunita

答えて

1

は、それを初期化し、特殊なアダプタクラスを設定し、あなたのOnCreateメソッド内で次に、あなたのlayout.xmlファイル内

を1 RecyclerViewしてください。

今すぐアダプタとクラスを作成し、Imagedataをアダプタ内に渡します。それをImageViewに設定します。

これはすべて縦に...この詳細をご覧ください

表示されます。SQLiteDatabasesoから配列の画像の

http://www.androidhive.info/2012/02/android-custom-listview-with-image-and-text/

+0

は、あなたがこの上で手の込んだことができ、そのかなり曖昧。 "アダプタクラスを設定する" ..あなたはどういう意味ですか? Adapterクラスにはどうしたらいいですか?アダプタをimageviewに設定するにはどうしたらいいですか? – marcst

関連する問題