2012-10-27 42 views
0

我试图做一个对话框,基本上要求从用户的歌曲的流派。 因此,我有两个按钮和一个EditText。当我点击“保存”按钮并将其保存到数据库时,我想从EditText中获取字符串。但问题是EditText正在返回并且是空字符串,这可能是由于我无法将Edittext与布局中的Edittext相关联。代码片段:代码有问题吗?

class AskGenreDialog { 
     private String songTitle = ""; 
     private int id; 
     EditText AskGenre; 
     View view; 
     public void setSongTitle(String songTitle){ 
      this.songTitle = songTitle; 
     } 

     public void setId(int id){ 
      this.id = id; 
     } 
     public void onCreateDialog(){ 

      AlertDialog.Builder builder = new AlertDialog.Builder(MusicPlayerActivity.this); 
      LayoutInflater inflator = (LayoutInflater)MusicPlayerActivity.this.getSystemService(Context.LAYOUT_INFLATER_SERVICE); 
      builder.setView(inflator.inflate(R.layout.ask_genre, null)); 
      builder.setTitle("Genre Not Found").setMessage(songTitle); 
      view = inflator.inflate(R.layout.ask_genre, null); 
      AskGenre = (EditText) view.findViewById(R.id.genre); 

      builder.setPositiveButton("Save", new OnClickListener(){ 

       @Override 
       public void onClick(DialogInterface arg0, int arg1) { 
        // TODO Auto-generated method stub 
        String genre =AskGenre.getText().toString(); 
        handler.setGenreForId(genre,id); 
        Log.d("Ans:", genre); 
       } 

      }); 
      builder.setNegativeButton("Don't Know", new OnClickListener(){ 

       @Override 
       public void onClick(DialogInterface dialog, int which) { 
        // TODO Auto-generated method stub 

       } 

      }); 

      // create alert dialog 
      AlertDialog alertDialog = builder.create(); 

      // show it 
      alertDialog.show(); 
     } 

    } 

有谁能告诉我这个问题吗?

回答

0

在视图=行中,您将创建另一个实例,而不是在对话框中使用的实例。

做到这一点,而不是

view = inflator.inflate(R.layout.ask_genre, null); 
builder.setView(view);