2013-04-24 6 views
0

두 개의 대화 상자를 만들었으며 메뉴 대화 상자에서 해당 대화 상자를 표시하고 있습니다. 하지만 검색 meu 옵션을 클릭하면 동기화 메뉴 옵션과 겹쳐집니다. 나는 해결책을 찾지 못했지만 모든 것을 시도했다. 아무도 내게 해결책을 말해 줄 수 없어.Android 메뉴 옵션 오버랩 대화

내 코드 :

@Override 
public boolean onCreateOptionsMenu(Menu menu) 
{ 
MenuInflater inflater = getMenuInflater(); 
inflater.inflate(R.menu.action_menu, menu); 
    return super.onCreateOptionsMenu(menu); 
}  
    @Override 
public boolean onOptionsItemSelected(MenuItem item) 
{ 
    switch (item.getItemId()) 
    {  
     // Handle item selection 
     case R.id.Synch: 
      showDialog(SYNC_ALERT);  
      return true; 
     case R.id.searchid: 
      showDialog(SEARCH_ALERT); 
      return true; 
     default: 
      return super.onOptionsItemSelected(item); 
    } 
} 
protected Dialog onCreateDialog(int id) 
{ 
    switch (id) 
    { 
     case SEARCH_ALERT: 
     // Create out AlterDialog 
     AlertDialog.Builder builder = new AlertDialog.Builder(this); 
     builder.setMessage("Search"); 
     builder.setCancelable(true); 
     LayoutInflater inflater = this.getLayoutInflater(); 
     View searchView= inflater.inflate(R.layout.search_dialog, null); 
     builder.setView(searchView); 
     Searchtxt = (EditText) searchView.findViewById(R.id.search_text); 
     builder.setPositiveButton("Search", new searchOkOnClickListener()); 
     builder.setNegativeButton("Cancel", new searchCancelOnClickListener()); 
     AlertDialog dialog = builder.create(); 
     dialog.show(); 

     case SYNC_ALERT: 
     AlertDialog.Builder alertbuilder = new AlertDialog.Builder(this); 
     alertbuilder.setMessage("Synchronization"); 
     alertbuilder.setCancelable(true); 
     LayoutInflater buildinflater = this.getLayoutInflater(); 
     View SyncView= buildinflater.inflate(R.layout.sync_layout, null); 
     alertbuilder.setView(SyncView); 
     defaultchkbox = (CheckBox)SyncView.findViewById(R.id.defaultchkbox); 
     after15mint = (CheckBox)SyncView.findViewById(R.id.after15mint); 
     afternmint = (CheckBox)SyncView.findViewById(R.id.afternmint); 
     alertbuilder.setPositiveButton("Save Changes", new syncOkClickListener()); 
     alertbuilder.setNegativeButton("Cancel", new syncCancelClickListener()); 
     AlertDialog alertdialog = alertbuilder.create(); 
     alertdialog.show(); 
    } 
      return super.onCreateDialog(id); 
} 
+0

put action_menu.xml –

답변

2

나는 당신의 질문에 대해 아주 확실하지 않다 그래서 검색 메뉴 옵션을 클릭 할 때 SYN 대화 상자를 얻을 수 있다고 가정합니다. 이 경우 스위치의 각 케이스 사이에 구분을 넣어야합니다.

switch (id) 
{ 
    case SEARCH_ALERT: 
    .................. 
    break; 

    case SYNC_ALERT: 
    ................. 

}