ratingbar(5つ星評価バー)で付けた星の数(取得した値)をsqliteのテーブルにinsertしたいと思っています。
以下のプログラムは
sqliteデータベースのShopsというテーブルに二つのeditTextから取得した文字列をinsertするプログラムです。
また、ratingbarを設置し、星の数を操作するたびにratingbar横のテキストビューに星の数(取得した値)を数字として表示させるものになっています。
私が現在詰まっている点は、そのratingbarから取得した値(プログラム中ではfloat型のratingvalueという変数に代入)をどのようにしてsqliteにinsertすればよいのかということです。
いったいどうやればinsertValues.put(ratingvalue)を実現することができるのでしょうか。
分かる方ぜひ、教えていただきたいです。
import android.app.Activity;
import android.content.ContentValues;
import android.content.Intent;
import android.database.sqlite.SQLiteDatabase;
import android.os.Bundle;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.Button;
import android.widget.EditText;
import android.widget.RatingBar;
import android.widget.TextView;
import android.widget.Toast;
public class MainActivity extends Activity {
public RatingBar _ratingBar; public TextView _textView; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); MyOpenHelper helper = new MyOpenHelper(this); final SQLiteDatabase db = helper.getWritableDatabase(); final EditText ShopnameText = (EditText) findViewById(R.id.editShopName); final EditText CommentText = (EditText) findViewById(R.id.editComment); _ratingBar = (RatingBar) findViewById(R.id.ratingBar); _textView = (TextView)findViewById(R.id.ratingText); // レイティングの最大数を設定 _ratingBar.setNumStars(5); // レイティングの最大数を取得 int num = _ratingBar.getNumStars(); // 現在のレイティング数を設定 _ratingBar.setRating(0.0f); // RatingBar のレイティング数が変わったときに呼び出されるコールバックを登録 _ratingBar.setOnRatingBarChangeListener( new RatingBar.OnRatingBarChangeListener() { public void onRatingChanged( RatingBar ratingBar, float rating, boolean fromUser) { // RatingBar のレイティング数が変わったときの動作 float ratingvalue = ratingBar.getRating(); _textView.setText(Float.toString(ratingvalue)); } } ); Button entryButton = (Button) findViewById(R.id.insert); entryButton.setOnClickListener(new OnClickListener() { @Override public void onClick(View v) { String Shopname = ShopnameText.getText().toString(); String Comment = CommentText.getText().toString(); ContentValues insertValues = new ContentValues(); insertValues.put("Shopname", Shopname); insertValues.put("Comment", Comment); long id = db.insert("Shops", null, insertValues); Toast toast = Toast.makeText(MainActivity.this, "登録完了", Toast.LENGTH_SHORT); Intent dbIntent = new Intent(MainActivity.this, ShowDataBase.class); startActivity(dbIntent); } });
}

回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2016/01/10 17:28