setonclicklistener用于ratingbar和imagebutton

时间:2015-01-22 07:39:42

标签: android onclicklistener ratingbar android-imagebutton

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

场景:当我点击“添加”按钮时,此表单上输入的信息将保存在数据库中。该表单有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();

2 个答案:

答案 0 :(得分:0)

获取评级栏值

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

来自ImageView的图像

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

答案 1 :(得分:0)

听起来好像它应该像下面那样简单:

对于ImageButton:

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

(小心检查你的image.getDrawable()是否可以实际转换为BitmapDrawable(以避免IllegalCastExceptions))

对于RatingBar:

float ratingText=ratingBar.getRating();
int numberOfStars=ratingBar.getNumStars();