2012-11-22 2 views
0

이 코드는 안드로이드 응용 프로그램에 있습니다. 메뉴 항목을 누르면 대화 상자가 표시되지만 제대로 작동했지만 대화 상자의 "보내기"버튼에 대한 기능을 설정할 때, 메뉴 항목을 클릭하면 충돌이 발생합니다. 하지만대화 상자에서 버튼에 대한 설정 이벤트에서 안드로이드 크래시가 발생했습니다.

private void showdialog (String ap){ 
final Dialog dialog = new Dialog(this); 
dialog.setContentView(R.layout.comment); 
et =(EditText)dialog.findViewById (R.id.commentET); 
send=(Button)dialog.findViewById(R.id.send); 
send.setOnClickListener(sendOnClickListener); 
dialog.setTitle(ap); 
System.getProperty("line.separator"); 
dialog.setCancelable(true); 
dialog.show(); 
} 

확실하지 : 당신이 된 setContentView를 호출 어디 순서를 변경 문제를

private void showdialog (String ap){ 
    final Dialog dialog = new Dialog(this); 
    et =(EditText)dialog.findViewById (R.id.commentET); 
    send=(Button)dialog.findViewById(R.id.send); 
    send.setOnClickListener(sendOnClickListener); 
    dialog.setTitle(ap); 
    dialog.setContentView(R.layout.comment); 
    System.getProperty("line.separator"); 
    dialog.setCancelable(true); 
    dialog.show(); 
} 

Button.OnClickListener sendOnClickListener 
= new Button.OnClickListener(){ 



public void onClick(View arg0) { 
    s=et.getText().toString(); 
    dialog.dismiss(); 
} 
}; 




public boolean onCreateOptionsMenu(Menu menu) { 
    getMenuInflater().inflate(R.menu.aprobare_menu, menu); 
    return true; 
} 

public boolean onOptionsItemSelected(MenuItem item) 
    { 


     switch (item.getItemId()) 
     { 
     case R.id.aproba: 
      showdialog("Aprobat"); 
      return true; 

     case R.id.respinge: 
      showdialog("Respins"); 
      return true; 

     default: 
      return super.onOptionsItemSelected(item); 
     } 
     }  

}; 
+0

이 붙여 오류 주실 수 있습니까? –

+1

에서 오류 로그를 표시합니다. 크리스탈 유리가 깨졌습니다. –

답변

1

시도를 찾을 수 없습니다.

1

가에 대한 contentView을 설정하여 대화 ID로 어떤 전망을 찾는 전에 :

private void showdialog (String ap){ 
    final Dialog dialog = new Dialog(this); 
    dialog.setContentView(R.layout.comment);// should be before findViewById 
    et =(EditText)dialog.findViewById (R.id.commentET); 
    send=(Button)dialog.findViewById(R.id.send); 
    send.setOnClickListener(sendOnClickListener); 
    dialog.setTitle(ap); 

    System.getProperty("line.separator"); 
    dialog.setCancelable(true); 
    dialog.show(); 
} 
+0

작동합니다. 감사합니다. – user1269301

+0

내가 도움을 줄 수있어서 기꺼이 도와 주므로 다른 사람들이 도움을받을 수 있습니다. :) – Houcine

관련 문제