samedi 31 octobre 2015

image Not Display from drawable with SimpleCursorAdapter.ViewBinder

I Create a List view with Simple Cursor Adapter in that adapter i fetch my Title Column from SQlite now i want to add images to the same adapter from Drawable Folder to the title field How can we Do This using SimpleCursorAdapter.ViewBinder

Here is My Code

 protected void onCreate(Bundle savedInstanceState) {
final int[] imageResource = new int[]{R.drawable.juice,R.drawable.medicinebowl,R.drawable.kam};
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        listView= (ListView) findViewById(R.id.listView);

 dbHelper = new SqlLiteDbHelper(this);
        try {
            dbHelper.openDataBase();
        } catch (SQLException e) {
            e.printStackTrace();
        }
        sqLiteDatabase = dbHelper.getReadableDatabase();
        cursor = dbHelper.gettitles(sqLiteDatabase);
        String[] from = new String[]{dbHelper.TITLE};

 int[] to = new int[]{R.id.title};
        SimpleCursorAdapter adapter = new SimpleCursorAdapter(this, R.layout.title_row, cursor, from, to);
        adapter.notifyDataSetChanged();

         adapter.setViewBinder(new SimpleCursorAdapter.ViewBinder() {

            @Override
            public boolean setViewValue(View view, Cursor cursor, int columnIndex) {
                switch (view.getId()) {
                    case R.id.circle:
                        int imageType = cursor.getInt(columnIndex);
                        int imageToBeShown = 0;
                        switch (imageType) {
                            case 0:
                                imageToBeShown = imageResource[0];
                                break;
                            case 1:
                                imageToBeShown = imageResource[0];
                                break;
                            case 2:
                                imageToBeShown = imageResource[0];
                                break;

                        }
                        ((ImageView) view).setImageResource(imageToBeShown);
                        return true;

                }
                return false;
            }
        });

        listView.setAdapter(adapter);

Custom Layout

<ImageView
    android:layout_width="90dp"
    android:layout_height="190dp"
    android:layout_marginLeft="10dp"
    android:id="@+id/circle"
    />
    <TextView
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:textAppearance="?android:attr/textAppearanceLarge"
        android:text="Large Text "
        android:id="@+id/title"
        android:layout_gravity="center_horizontal"
        android:layout_marginTop="10dp"
        style="@android:style/TextAppearance.Medium"
        android:textColor="#FFFFFF"
        android:layout_toRightOf="@+id/circle"
        android:layout_centerHorizontal="true"
        />

Aucun commentaire:

Enregistrer un commentaire