我在android中試驗對話框,並遇到了一些問題。
我有兩個類,一個是擴展Activity的MainActivity,另一個是擴展DialogFragment的MyDialog。它來自MainActivity中的一個新的MyDialog對象,我在對象上調用show方法來顯示對話框。如何在實現DialogFragment的類中設置textview文本
現在選擇任何選項後,我嘗試了很多方法來將TextText設置爲TextView,但是我無法使用findViewById方法,因爲Activity和我不是在MyDialog中擴展Activity。試圖創建一個新的活動對象(只是試圖),並從那裏使用findViewById方法,但無濟於事。
另外我試圖在創建MyDialog對象之前在MainActivity的OnCreate方法中創建公共TextView,並嘗試從另一個類訪問setText並且它也沒有工作。請幫助,如何在通過DialogFragment附帶的setPositive,setNegative和setNeutral方法選擇對話框中的選項後設置文本。
這裏是MyDialog類的某些提取物,只是這裏我設置對話框選項標題等部分:
@覆蓋 公共對話框onCreateDialog(捆綁savedInstanceState){
AlertDialog.Builder builder = new AlertDialog.Builder(getActivity());
builder.setMessage(R.string.dialogMessage).setPositiveButton(R.string.dialogacceptmsg, new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface arg0, int arg1) {
//setting text and color to text in a result textview
message.setText("You are going to MARS with Sir Richard Branson");
/*v= new Activity();//creating a new activity to find the textview
message=(TextView)v.findViewById(R.id.textView1);
message.setText("You are going to MARS with Sir Richard Branson");
message.setTextColor(Color.MAGENTA);*/
}
}).setNegativeButton(R.string.dialogcancelmsg,new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface arg0, int arg1) {
//setting text and color to text in a result textview
message.setText("Your ticket will be sold to Justin Bieber");
/* v= new Activity();//creating a new activity to find the textview
message = (TextView) v.findViewById(R.id.textView1);
message.setText("Your ticket will be sold to Justin Bieber");
message.setTextColor(Color.RED);*/
}
}).setNeutralButton("Not sure",new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface arg0, int arg1) {
// setting text and color to text in a result textview
message.setText("Keeping it on standby");
/*v=new Activity();
message =(TextView) v.findViewById(R.id.textView1);
message.setText("Keeping it on standby");
message.setTextColor(Color.BLUE);*/
}
}).setTitle(R.string.dialogTitle) ;
return builder.create();
}
thanx夥計這工作得很好。對android來說真的很陌生 – Manny265