//附部分代码
public class PickupActivity extends Activity {
private MusicInfo musicInfo;
private TextView musicName;
private Button sureButton;
private Button cancelButton;
private int starNums;
private String description;
private MusicInfoDbAdater musicInfoDbAdater = null;
private MyMusicInfo myMusicInfo;
private MusicInfoDao infoDao;
private DatabaseHelper databaseHelper;
/*
* (non-Javadoc)
*
* @see android.app.Activity#onCreate(android.os.Bundle)
*/
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.pickup);
Intent intent = getIntent();
musicInfo = (MusicInfo)intent.getSerializableExtra("musicInfo");
musicName = (TextView) findViewById(R.id.pickup_musicName);
musicName.setText(musicInfo.getMusicName());
final RatingBar starRatingBar = (RatingBar) findViewById(R.id.pickup_star);
starNums = starRatingBar.getNumStars();
final EditText descriptionEditText = (EditText) findViewById(R.id.pickup_description);
description = descriptionEditText.getText().toString().trim();
sureButton = (Button) findViewById(R.id.pickup_ok);
cancelButton = (Button) findViewById(R.id.pickup_cancel);
//绑定监听器
sureButton.setOnClickListener(new SureButtonOnClickListener());
cancelButton.setOnClickListener(new CancelButtOnClickListener());
}class SureButtonOnClickListener implements OnClickListener {
@Override
public void onClick(View v) {
infoDao = new MusicInfoDao(PickupActivity.this);
infoDao.open();
myMusicInfo = new MyMusicInfo();
myMusicInfo.setDescription(description);
myMusicInfo.setMusicName(musicInfo.getMusicName());
myMusicInfo.setStar(starNums);
long i = infoDao.insertToTable(myMusicInfo);
if (i > 0) {
showToast("成功录入信息");
finish();
} else {
showToast("录入信息失败");
finish();
}
}
}
public class PickupActivity extends Activity {
private MusicInfo musicInfo;
private TextView musicName;
private Button sureButton;
private Button cancelButton;
private int starNums;
private String description;
private MusicInfoDbAdater musicInfoDbAdater = null;
private MyMusicInfo myMusicInfo;
private MusicInfoDao infoDao;
private DatabaseHelper databaseHelper;
/*
* (non-Javadoc)
*
* @see android.app.Activity#onCreate(android.os.Bundle)
*/
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.pickup);
Intent intent = getIntent();
musicInfo = (MusicInfo)intent.getSerializableExtra("musicInfo");
musicName = (TextView) findViewById(R.id.pickup_musicName);
musicName.setText(musicInfo.getMusicName());
final RatingBar starRatingBar = (RatingBar) findViewById(R.id.pickup_star);
starNums = starRatingBar.getNumStars();
final EditText descriptionEditText = (EditText) findViewById(R.id.pickup_description);
description = descriptionEditText.getText().toString().trim();
sureButton = (Button) findViewById(R.id.pickup_ok);
cancelButton = (Button) findViewById(R.id.pickup_cancel);
//绑定监听器
sureButton.setOnClickListener(new SureButtonOnClickListener());
cancelButton.setOnClickListener(new CancelButtOnClickListener());
}class SureButtonOnClickListener implements OnClickListener {
@Override
public void onClick(View v) {
infoDao = new MusicInfoDao(PickupActivity.this);
infoDao.open();
myMusicInfo = new MyMusicInfo();
myMusicInfo.setDescription(description);
myMusicInfo.setMusicName(musicInfo.getMusicName());
myMusicInfo.setStar(starNums);
long i = infoDao.insertToTable(myMusicInfo);
if (i > 0) {
showToast("成功录入信息");
finish();
} else {
showToast("录入信息失败");
finish();
}
}
}
final EditText descriptionEditText = (EditText) findViewById(R.id.pickup_description);
description = descriptionEditText.getText().toString().trim();那应该在事件处理中获取,而不是在EditText刚初始化之后就提取,那样EditText中没有没有输入,当然获取不到值了。楼主看一下代码可以实现不//附部分代码
public class PickupActivity extends Activity {
private MusicInfo musicInfo;
private TextView musicName;
private Button sureButton;
private Button cancelButton;
private int starNums;
//将EditText提升为成员变量,方便全局访问
private EditText descriptionEditText;
private String description;
private MusicInfoDbAdater musicInfoDbAdater = null;
private MyMusicInfo myMusicInfo;
private MusicInfoDao infoDao;
private DatabaseHelper databaseHelper;
/*
* (non-Javadoc)
*
* @see android.app.Activity#onCreate(android.os.Bundle)
*/
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.pickup);
Intent intent = getIntent();
musicInfo = (MusicInfo)intent.getSerializableExtra("musicInfo");
musicName = (TextView) findViewById(R.id.pickup_musicName);
musicName.setText(musicInfo.getMusicName());
final RatingBar starRatingBar = (RatingBar) findViewById(R.id.pickup_star);
starNums = starRatingBar.getNumStars();
//修改前的代码:
// final EditText descriptionEditText = (EditText) findViewById(R.id.pickup_description);
//description = descriptionEditText.getText().toString().trim();
//修改过的代码:
descriptionEditText = (EditText) findViewById(R.id.pickup_description);
sureButton = (Button) findViewById(R.id.pickup_ok);
cancelButton = (Button) findViewById(R.id.pickup_cancel);
//绑定监听器
sureButton.setOnClickListener(new SureButtonOnClickListener());
cancelButton.setOnClickListener(new CancelButtOnClickListener());
}class SureButtonOnClickListener implements OnClickListener {
@Override
public void onClick(View v) {
infoDao = new MusicInfoDao(PickupActivity.this);
infoDao.open();
myMusicInfo = new MyMusicInfo();
description = descriptionEditText.getText().toString().trim();
myMusicInfo.setDescription(description);
myMusicInfo.setMusicName(musicInfo.getMusicName());
myMusicInfo.setStar(starNums);
long i = infoDao.insertToTable(myMusicInfo);
if (i > 0) {
showToast("成功录入信息");
finish();
} else {
showToast("录入信息失败");
finish();
}
}
}上面的代码是基于楼主贴上的代码上根据个人理解修改的,没有在IDE中测试过,不能保证没有语法问题,只要楼主理解了问题所在,我想上面的代码楼主自己可以搞定。
希望能解决LZ的难题