2
我正嘗試在菜單中單擊某個選項時創建自定義對話框。我繼續開始一個新的活動,其中Intent指向customTextMessageDialog。Android - 獲取自定義對話框中組件的句柄
我時能夠得到手柄任何使用類似的代碼在我customdialog.xml文件中定義的小部件「phoneNumber的=(EditText上)dialog.findViewById(R.id.customDialogPhoneNumber1);」
但是,我不能用這個句柄做任何事情。當我嘗試爲EditText句柄設置Text()或者爲我的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