//附部分代码
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();
    }
  }
}

解决方案 »

  1.   

    楼主是要在交互的过程中获取EditText中的字符串吧,如果是这个意思的话,我想楼主的问题出在这里:
    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的难题
      

  2.   

    我也遇到了得不到edittext值的问题,我是在点击登录的事件中获取的,获取的都是空。