我正在做一个课程项目,我被困在这里。
场景:当我点击“添加”按钮时,此表单上输入的信息将保存在数据库中。该表单有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();
答案 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();