2012-03-25 7 views
1

Android에서 두 개의 edittext 필드로 알림을 표시하려고합니다. 소스는 다음과 같습니다.Android에서 편집 텍스트

public void UserPass(){ 
    final SharedPreferences prefs=getSharedPreferences("PrefsPreferences",MODE_PRIVATE); 
    String user=prefs.getString("user", ""); 
    String pass=prefs.getString("password", ""); 

    AlertDialog.Builder builder = new AlertDialog.Builder(this); 
    builder.setMessage("U/P"); 
    builder.setCancelable(false); 

    final EditText input1 = new EditText(this); 
    final EditText input2 = new EditText(this); 
    builder.setView(input1); 
    builder.setView(input2); 

    builder.setPositiveButton("Yes", new DialogInterface.OnClickListener() { 
     public void onClick(DialogInterface dialog, int id) { 
      //My code 
     } 
    }) 

    .setNegativeButton("No", new DialogInterface.OnClickListener() { 
     public void onClick(DialogInterface dialog, int id) { 
      dialog.cancel(); 
     } 
    }); 
    AlertDialog alert = builder.create(); 
    alert.show(); 
} 

하나의 EditText 만 표시됩니다. 내가 도대체 ​​뭘 잘못하고있는 겁니까?

감사합니다.

+0

온 드라는 두 개의'Editbox'와 AlertDialog''에 대한 별도의 레이아웃을 사용 –

답변

1

두 번째 setView 호출은 첫 번째로 설정 한 EditText을 대체합니다. 이런 식으로 두 개의 View을 추가 할 수 없습니다. 대신 LinearLayout을 만들고 input1input2을 모두 추가 한 다음 builder에 추가하십시오.

5
import android.app.Activity; 
import android.app.AlertDialog; 
import android.content.DialogInterface; 
import android.os.Bundle; 
import android.widget.EditText; 
import android.widget.Toast; 

public class DialogWithInputBox extends Activity { 
/** Called when the activity is first created. */ 
@Override 
public void onCreate(Bundle savedInstanceState) { 
    super.onCreate(savedInstanceState); 
    setContentView(R.layout.main); 

    final AlertDialog.Builder alert = new AlertDialog.Builder(this); 
    final EditText input = new EditText(this); 
    alert.setView(input); 
    alert.setPositiveButton("Ok", new DialogInterface.OnClickListener() { 
     public void onClick(DialogInterface dialog, int whichButton) { 
      String value = input.getText().toString().trim(); 
      Toast.makeText(getApplicationContext(), value, 
        Toast.LENGTH_SHORT).show(); 
     } 
    }); 

    alert.setNegativeButton("Cancel", 
      new DialogInterface.OnClickListener() { 
       public void onClick(DialogInterface dialog, int whichButton) { 
        dialog.cancel(); 
       } 
      }); 
    alert.show(); 

} 

}

관련 문제