在片段中添加警报对话框?

时间:2013-11-26 04:05:58

标签: android android-fragments android-alertdialog

我正在尝试在android片段中添加Alert Dialogue框。就像片段加载时一样,它应检查字符串的值,并根据需要显示一个对话框。但它进入了if条件,但是警告框不起作用..

这是我的代码

    public View onCreateView(LayoutInflater inflater, ViewGroup container,
        Bundle savedInstanceState) {
    View rootView = inflater.inflate(R.layout.fragment_planet, container, false);



    if(heart.equals("No connection"))
    {
        Toast.makeText(getActivity(), "in alert", Toast.LENGTH_SHORT).show();
        AlertDialog.Builder builder = new AlertDialog.Builder(getActivity().getApplicationContext());
        builder.setCancelable(true);
        builder.setTitle("Connection Problem");
        builder.setMessage("No device detected Do you want to restart the application?");
        builder.setPositiveButton("OK", new DialogInterface.OnClickListener()
        {
            @Override
            public void onClick(DialogInterface arg0, int arg1) 
            {

                Intent restrat=new Intent(getActivity(),LandingPage.class);
                startActivity(restrat);


            }
        });

        builder.setNegativeButton("Cancel", new DialogInterface.OnClickListener()
        {
            @Override
            public void onClick(DialogInterface arg0, int arg1) 
            {




            }
        });

    }
}

如何解决这个问题?

1 个答案:

答案 0 :(得分:1)

试试这个,

@Override
    public View onCreateView(LayoutInflater inflater, ViewGroup container,
            Bundle savedInstanceState) {
            super.onCreateView(inflater, container, savedInstanceState);
        View rootView = inflater.inflate(R.layout.fragment_planet, container,
                false);

        if (heart.equals("No connection")) {
            Toast.makeText(getActivity(), "in alert", Toast.LENGTH_SHORT)
                    .show();
            AlertDialog.Builder builder = new AlertDialog.Builder(getActivity()
                    .getApplicationContext());
            builder.setCancelable(true);
            builder.setTitle("Connection Problem");
            builder.setMessage("No device detected Do you want to restart the application?");
            builder.setPositiveButton("OK",
                    new DialogInterface.OnClickListener() {
                        @Override
                        public void onClick(DialogInterface arg0, int arg1) {

                            Intent restrat = new Intent(getActivity(),
                                    LandingPage.class);
                            startActivity(restrat);

                        }
                    });

            builder.setNegativeButton("Cancel",
                    new DialogInterface.OnClickListener() {
                        @Override
                        public void onClick(DialogInterface arg0, int arg1) {

                        }
                    });
            AlertDialog dialog=builder.create();
            dialog.show();
        }
        return rootView;
    }