我用片段创建一个活动;然后为按钮添加一个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();
}
};
}
任何人都可以帮助解决此错误
答案 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