Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/184.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Android setonclicklistener用于分级栏和imagebutton_Android_Onclicklistener_Ratingbar_Android Imagebutton - Fatal编程技术网

Android setonclicklistener用于分级栏和imagebutton

Android setonclicklistener用于分级栏和imagebutton,android,onclicklistener,ratingbar,android-imagebutton,Android,Onclicklistener,Ratingbar,Android Imagebutton,我在做一个课堂专题,被困在这里 场景:当我点击Add按钮时,在此表单上输入的信息将保存在数据库中。表单有3个编辑文本、1个图像按钮和1个分级栏 问题:如何在OnClick中为imageButton和ratingBar编码 btnAdd = (Button) findViewById(R.id.addbtn); btnAdd.setOnClickListener(new OnClickListener(){ @Override public void on

我在做一个课堂专题,被困在这里

场景:当我点击Add按钮时,在此表单上输入的信息将保存在数据库中。表单有3个编辑文本、1个图像按钮和1个分级栏

问题:如何在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);
这是我的DB部分:

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();

用于获取评级条值

ratingBar.getRating() ; //GET RATING BAR VALUE
从ImageView获取图像

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

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

对于ImageButton:

Bitmap bitmap = ((BitmapDrawable)imageButton.getDrawable()).getBitmap();
(请仔细检查您的image.getDrawable()是否可以转换为BitmapDrawable(以避免非法CastException))

对于分级栏:

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

这段代码有什么问题。如何在onClick方法中添加imagebutton和ratingbar的代码您想从图像视图中检索图像并从评级栏中检索评级。是正确的。我学会了如何检索字符串,但我不确定如何检索图像和评级..要在数据库中存储图像,需要将其作为byteArray存储在BLOB类型的字段中,