메뉴의 옵션 클릭으로 사용자 지정 대화 상자를 만들려고합니다. Intent가 customTextMessageDialog를 가리키는 새로운 활동을 시작하겠습니다.안드로이드 - 사용자 지정 대화 상자에서 구성 요소에 대한 핸들 얻기
I 오전 같은 코드를 사용하여 내 customdialog.xml 파일에 정의 된 위젯의에 핸들을 얻을 수 "PHONENUMBER = (글고) dialog.findViewById (R.id.customDialogPhoneNumber1를);"
그러나이을 사용하면 I 을 수행 할 수 없습니다. EditText 핸들에 setText()를 시도하거나 내 xml에 정의 된 버튼 중 하나에 onClickListener를 설정하면 응용 프로그램이 충돌합니다. 왜 이런 일이 벌어지고 있으며 어떻게 해결할 수 있을지에 대한 아이디어가 있습니까?
또한 왜 그 인스턴스에서 findViewById를 호출하기 전에 Dialog의 인스턴스를 먼저 만들어야합니까? 코드에서
public class customTextMessageDialog extends Activity
{
EditText phoneNumber;
EditText message;
Button cancelButton;
Button sendButton;
public void onCreate(Bundle savedInstanceState)
{
super.onCreate(savedInstanceState);
setContentView(R.layout.customdialog);
Dialog dialog = new Dialog(this);
phoneNumber = (EditText)dialog.findViewById(R.id.customDialogPhoneNumber1);
//phoneNumber.setTextColor(R.color.gray);
//phoneNumber.setText("ex: 4127214544");
message = (EditText)dialog.findViewById(R.id.customDialogMessage1);
cancelButton = (Button)dialog.findViewById(R.id.customDialogCancelButton1);
cancelButton.setOnClickListener(new OnClickListener()
{
@Override
public void onClick(View v) {
finish();
}
});
sendButton = (Button)dialog.findViewById(R.id.customDialogPhoneNumber1);
}
}
안녕, 지적 해 주셔서 감사합니다. 나는 변화를 만들었다. 그러나, 내가 가진 다양한 요소 핸들을 수정하려고하면 내 코드가 여전히 충돌합니다. – roro