我有一个打开的onClick事件和一个使用LayoutInflater充气的AlertDialog。我可以点击膨胀的AlertDialog中的按钮,然后解决方程式。问题是OnClick没有响应,因为没有任何反应。有谁知道为什么?
编辑现在屏幕变暗,我可以告诉我不再使用相同的活动,因为屏幕没有响应,但视图仍然是原始页面。按下按钮使屏幕再次亮起并响应。
lay1.setOnLongClickListener(new OnLongClickListener() {
public boolean onLongClick(View v)
{
LayoutInflater myLayout = LayoutInflater.from(context);
final View dialogView = myLayout.inflate(R.layout.alerthelp, null);
AlertDialog.Builder alertDialogBuilder = new AlertDialog.Builder(
context);
final AlertDialog alertDialog = alertDialogBuilder.create();
alertDialogBuilder.setView(dialogView);
Button button1 = (Button) dialogView.findViewById(R.id.button1);
button1.setOnClickListener(new OnClickListener(){
public void onClick(View v) {
TextView stax1=(TextView)alertDialog.findViewById(R.id.salestax);
String sax1 = stax1.getText().toString();
double sx1 = Double.parseDouble(sax1);
TextView textviewlay1 =(TextView)alertDialog.findViewById(R.id.m1ab);
String stringl1 = textviewlay1.getText().toString();
Double doubl1 = Double.parseDouble(stringl1);
TextView textviewp1 = (TextView)alertDialog.findViewById(R.id.inputPrice);
String stringp1 = textviewp1.getText().toString();
Double intp1 = Double.parseDouble(stringp1);
double resultl1 = intp1 - (doubl1*sx1);
int precision21t = 100; //keep 4 digits
resultl1= Math.floor(resultl1 * precision21t +.5)/precision21t;
textViewtotalproduct.setText(String.valueOf(resultl1));
});
alertDialog.show();
return true;
}});
答案 0 :(得分:2)
您正在返回false
,这意味着没有发生长时间点击。因此,请返回true
以便您长按一次。
您还需要致电alertDialog.show();
让它打开,回答您的第二个问题。