大家好,我刚刚开始使用android,我正在进行第一个项目。 我不是开发人员基础,所以如果我的语言不合适,请原谅。那一周我已经停留在这个警报对话框功能上了。我请你帮帮我谢谢!
public class Myclass extends Activity implements DialogInterface.OnClickListener{
private TextView tv;
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.lyt);
tv=(TextView)findViewById(R.id.textView1);
tv.setOnClickListener(new TextView.OnClickListener() {
@Override
public void onClick(View v) {
// TODO Auto-generated method stub
AlertDialog ad = new AlertDialog.Builder(tv.getContext())
.setMessage("Blah blah blah.\n Fine pring.\n Do you accept all our terms and conditions?")
.setIcon(R.drawable.ic_launcher)
.setTitle("Terms of Service")
.setPositiveButton("Yes", this)
.setNegativeButton("No", this)
.setCancelable(false)
.create();
ad.show();
}
});
}
@Override
public void onClick(DialogInterface dialog, int which) {
// TODO Auto-generated method stub
switch(which){
case DialogInterface.BUTTON_POSITIVE: // yes
Intent call = new Intent(Intent.ACTION_DIAL);
call.setData(Uri.parse("tel:" + tv.getText().toString()));
startActivity(call);
break;
case DialogInterface.BUTTON_NEGATIVE: // no
tv.setText("Oh lalala");
break;
default:
// nothing
break;
}
}
}
答案 0 :(得分:2)
替换:
.setPositiveButton("Yes", this)
.setNegativeButton("No", this)
与
.setPositiveButton("Yes", Myclass.this)
.setNegativeButton("No", Myclass.this)
因为,该语句位于onClick
类型的匿名类的TextView.OnClickListener
内。因此,当您尝试传递View.OnCLickListener
而不是DialogInterface.OnClickListener
顺便说一下,你至少应该提到你的编译错误。
答案 1 :(得分:0)
你无法传递这是tv.setOnClickListener的参考(新的TextView.OnClickListener()到Dialog界面使用这个 试试这个。这肯定会起作用。
setPositiveButton("Yes", Myclass.this)
.setNegativeButton("No", Myclass.this)