2011-10-10 37 views
0

爲什麼我的代碼不工作?沒有工作與1個按鈕的DialogFragment。

我需要1個按鈕的dialogFragment。


我有2類:

public class MyAlertDialogFragment extends DialogFragment { 

static DialogFragment newInstance(int num) { 
     MyAlertDialogFragment f = new MyAlertDialogFragment(); 

     // Supply num input as an argument. 
     Bundle args = new Bundle(); 
     args.putInt("num", num); 
     f.setArguments(args); 

     return f; 
    } 


public View onCreateView(LayoutInflater inflater, ViewGroup container, 
     Bundle savedInstanceState) { 
    View v = inflater.inflate(R.layout.alertdialog, container, false); 
    Button button = (Button)v.findViewById(R.id.button1); 

    return v; 
} 

} 

和活動:

public class DialogFragmentActivity extends Activity { 

@Override 
public void onCreate(Bundle savedInstanceState) { 
    super.onCreate(savedInstanceState); 
    setContentView(R.layout.main); 
showDialog(); 
} 

void showDialog() { 
    FragmentTransaction ft = getFragmentManager().beginTransaction(); 
    DialogFragment newFragment = MyAlertDialogFragment.newInstance(1); 
    newFragment.show(ft, "dialog"); 
} 

    } 

你如何完成這個片段?

+0

什麼是錯誤您收到? – Andy

回答

1

不要覆蓋onCreateView,重寫onCreateDialog:

@Override 
public Dialog onCreateDialog(Bundle savedInstanceState) { 
    AlertDialog.Builder alert = new AlertDialog.Builder(getActivity()) 
      .setPositiveButton(android.R.string.ok, null); 
    return alert.create(); 
}