1

我正在做一个课堂项目,被困在这里。

场景:当我点击添加按钮时,在此表单上输入的信息将保存在数据库中。该表单有 3 个 editText、1 个 imageButton 和 1 个 ratingBar。

问题:如何在 OnClick 中为 imageButton 和 ratingBar 编码?

btnAdd = (Button) findViewById(R.id.addbtn);

    btnAdd.setOnClickListener(new OnClickListener(){
        @Override
        public void onClick(View v) {
            //how to add this part for imageButton1 and ratingBar1?
            String title = ((EditText) 
                    findViewById(R.id.editText1)).getText().toString();
            String date = ((EditText) 
                    findViewById(R.id.editText2)).getText().toString();
            String review = (String) ((EditText) 
                    findViewById(R.id.editText3)).getText().toString();

Book newBook = new Book(0, image, title, date, rating, review);

            Books i = new Books(BookActivity.this);

            i.addBook(newBook);

这是我的数据库部分:

public void addBook(byte[] image, String title, String date, float rating, String review) {
    ContentValues values = new ContentValues();     
    SQLiteDatabase db = this.getWritableDatabase();
    values.put(COL_IMAGE, image);
    values.put(COL_TITLE, title);
    values.put(COL_DATE, date);
    values.put(COL_RATING, rating);
    values.put(COL_REVIEW, review);
    db.insert(TABLE_BOOKS, null, values);
    db.close();
4

2 回答 2

0

获取评分栏值

ratingBar.getRating() ; //GET RATING BAR VALUE

对于来自 ImageView 的图像

Bitmap bitmap = ((BitmapDrawable)yourimageview.getDrawable()).getBitmap();
于 2015-01-22T09:01:27.593 回答
0

在我看来,它应该像下面这样简单:

对于图像按钮:

Bitmap bitmap = ((BitmapDrawable)imageButton.getDrawable()).getBitmap();

(请仔细检查您的 image.getDrawable() 是否真的可以转换为 BitmapDrawable(以避免 IllegalCastExceptions))

对于评分栏:

float ratingText=ratingBar.getRating();
int numberOfStars=ratingBar.getNumStars();
于 2015-01-22T09:05:38.930 回答