片段活动在alertdialog中给出错误

时间:2014-01-02 13:33:36

标签: android fragment

我用片段创建一个活动;然后为按钮添加一个OnClickListener();每件事都可以正常工作。但是当我尝试将一个OnClickListener()为positivebutton添加到alertdialog eclipse时,在我可以运行程序之前给出错误 它是一段有错误的代码,我现在不知道为什么:(

        AlertDialog.Builder exitDialog=new AlertDialog.Builder(getActivity());

        exitDialog.setTitle("Alert");
        exitDialog.setMessage("Exit Program");
        exitDialog.setPositiveButton("Yes", new OnClickListener()
        {

            @Override
            public void onClick(DialogInterface arg0, int arg1)
            {
                // TODO Auto-generated method stub
                System.exit(1);
            }
        });
        exitDialog.setNegativeButton("NO", null);
        exitDialog.show();

这是我活动的全部代码

package com.TB.mylistprojct;

import android.os.Bundle;
import android.app.AlertDialog;
import android.app.Fragment;
import android.content.DialogInterface;
import android.view.LayoutInflater;
import android.view.View;
import android.view.View.OnClickListener;
import android.view.ViewGroup;
import android.widget.Button;

public class ActFooter extends Fragment
{
View            EMyView         =null;
Button          BtnExit         =null;

@Override
public void onCreate(Bundle savedInstanceState)
{
    super.onCreate(savedInstanceState);
    InitialUI();
}

@Override
public View onCreateView(LayoutInflater Inflater,ViewGroup Container,Bundle SavedInstanceState)
{

    View MyView=Inflater.inflate(R.layout.actfooter, Container,false);
    EMyView=MyView;
    return MyView;
}

public void InitialUI()
{
    BtnExit=(Button)EMyView.findViewById(R.id.Btn_exit);
    BtnExit.setOnClickListener(BtnExit_OnClick);


}

public OnClickListener BtnExit_OnClick=new OnClickListener()
{

    @Override
    public void onClick(View arg0)
    {
        // TODO Auto-generated method stub
        AlertDialog.Builder exitDialog=new AlertDialog.Builder(getActivity());

        exitDialog.setTitle("Alert");
        exitDialog.setMessage("Exit Program");
        exitDialog.setPositiveButton("Yes", new OnClickListener()
        {

            @Override
            public void onClick(DialogInterface arg0, int arg1)
            {
                System.exit(1);
            }
        });
        exitDialog.setNegativeButton("NO", null);
        exitDialog.show();


    }
};


}

任何人都可以帮助解决此错误

2 个答案:

答案 0 :(得分:0)

在警告对话框中点击new OnClickListener(),点按“new DialogInterface.OnClickListener()

答案 1 :(得分:-1)

请在 onActivityCreated 中调用 InitialUI 方法,而不是onCreate方法。

@Override
public void onActivityCreated(Bundle savedInstanceState) {
    super.onActivityCreated(savedInstanceState);
    InitialUI();
}

可能对你有帮助。是的,用DialogInterface.OnClickListener

替换OnClickListerner