2013-08-03 2 views
0

그래서 나는 무언가를 검사하는 코드를 가지고 그것을 Activity의 onCreate()에 넣었다. 나는 그것을 거기에 넣는 것이 옳은지, 그리고 어떤 이유로 메인 액티비티를 검사하는 코드가 전혀 작동하지 않는다는 것을 알고 싶다. 두 번째는 축배가있다. 나는 문제가 AlertDialog에있을 것이라고 생각한다. 축배를 가진 사람은 다음과 같습니다.활동 코드는 어디에 넣으시겠습니까?

AlertDialog.Builder Dial = new AlertDialog.Builder(Screen.this); 
Dial.setTitle(R.string.Dial_Tit); 
Dial.setMessage(R.string.Dial_Mes); 
Dial.setPositiveButton("OK", PosBC()); 
Dial.setNegativeButton(R.string.Dial_NegBC, NegBC()); 
Dial.show(); 

참고 : 두 버튼에는 방법이 있으며 방금 게시하지 않았습니다. 문제는 경고가 표시되지 않는다는 것입니다. 그리고 어떤 이유로 토스트가 작동합니다. 자동으로 버튼을 클릭하는 것과 비슷합니다. 메소드가 작동하지 않는 의도가 있다고 생각하는 경우에도 마찬가지입니다. 요청에 따라

더 코드 :

private DialogInterface.OnClickListener NegBC() { 
    Intent moveToStart; 
    moveToStart = new Intent(Screen.this, Launch.class); 
    startActivity(moveToStart); 
    return null; 
} 

private DialogInterface.OnClickListener PosBC() { 
    startActivity(new Intent(android.provider.Settings.ACTION_WIRELESS_SETTINGS)); 
    Toast.makeText(getApplicationContext(), R.string.settingsToast, Toast.LENGTH_LONG).show(); 
    return null; 
} 

업데이트 : 나는 대화 상자를 보여줍니다 create() 방법을 추가했지만 그것은 다음과 같이 간다 : 활동이 만든 토스트를 표시되어있는 경우,이 버튼을 누르면 다시 설정으로 간다, 설정 대화 상자에서 뒤로 누르십시오. 버튼이 작동하지 않습니다.

답변

0

AlertDialog 코드를 OnCreateDialog에 작성한 다음 확인을 위해 OnCreate AsynTask을 시작하고 작업이 완료되면 onPostExecute 내부에서 대화 상자를 닫습니다.

@Override 
protected void onCreate(Bundle savedInstanceState) { 
    super.onCreate(savedInstanceState); 
    setContentView(R.layout.activity_main); 

    showDialog(0x01); 

} 

@Override 
protected Dialog onCreateDialog(int id) { 
    AlertDialog.Builder Dial; 
    switch (id) { 

     case 0x01: 
      Dial = new AlertDialog.Builder(Screen.this); 
      Dial.setTitle(R.string.Dial_Tit); 
      Dial.setMessage(R.string.Dial_Mes); 
      Dial.setPositiveButton("OK", PosBC()); 
      Dial.setNegativeButton(R.string.Dial_NegBC, NegBC()); 
      Dial.create(); 
     break; 

    default: 
     break; 
    } 

    return super.onCreateDialog(id); 
} 
+0

당신은 정교하게 말할 수 있습니까, 나는 멍청이이며 정말로 이해하지 못합니다. – user2563892

+0

대화 상자를 표시하는 간단한 방법이 없습니까? srsly? 나는 내가 이해할 수있는 무엇인가를 원한다는 것을 의미한다. – user2563892

+0

응용 프로그램이 UI 스레드를 차단하면 안됩니다. 그 이유는 검사 작업이 다른 스레드 내부로 들어가야하는 이유입니다. – strike

0

응용 프로그램을 시작할 때마다 및 장치의 RAM에 캐시되지 않은 경우 onCreate()가 호출됩니다.

다른 것을 달성하기 위해 무엇을 하려는지 이해하지 못합니다. 더 많은 코드를 추가하여 게시물을 편집하십시오. 더 자세한 내용을 보려면 내 대답을 편집 할 것입니다. , 내가 나 자신을 해결,

 package .....; // name of your package. 

     import android.app.Activity; 
     import android.app.AlertDialog; 
     import android.content.DialogInterface; 
     import android.os.Bundle; 
     import android.view.View; 
     import android.widget.Button; 
     import android.widget.Toast; 


public class AlertDialogActivity extends Activity { 
    /** Called when the activity is first created. */ 
    @Override 
    public void onCreate(Bundle savedInstanceState) { 
     super.onCreate(savedInstanceState); 
     setContentView(R.layout.activity_main); 


     Button btnAlertTwoBtns = (Button) findViewById(R.id.button1); 

     btnAlertTwoBtns.setOnClickListener(new View.OnClickListener() { 


      public void onClick(View arg0) { 
       // Creating alert Dialog with two Buttons 

       AlertDialog.Builder alertDialog = new AlertDialog.Builder(AlertDialogActivity.this); 

       // Setting Dialog Title 
       alertDialog.setTitle(" "); //type your title here insid the quotes. 

       // Setting Dialog Message 
       alertDialog.setMessage(" "); //type the message which is to be displayed 

       // Setting Icon to Dialog 
       alertDialog.setIcon(R.drawable.ic_launcher); // set the icon from drawable folder just put the icon file in drawable folder. 

       // Setting Positive "Yes" Button 
       alertDialog.setPositiveButton("YES", 
         new DialogInterface.OnClickListener() { 
          public void onClick(DialogInterface dialog,int which) { 
           // Write your code here to execute after dialog 
           Toast.makeText(getApplicationContext(), "You clicked on YES", Toast.LENGTH_SHORT).show(); // just a sample code to tell that what things you can do here 
          } 
         }); 
       // Setting Negative "NO" Button 
       alertDialog.setNegativeButton("NO", 
         new DialogInterface.OnClickListener() { 
          public void onClick(DialogInterface dialog, int which) { 
           // Write your code here to execute after dialog 
           Toast.makeText(getApplicationContext(), "You clicked on NO", Toast.LENGTH_SHORT).show(); 
           dialog.cancel(); 
          } 
         }); 

       // Showing Alert Message 
       alertDialog.show(); 

      } 
     }); 
} 
} 
0

사용이 코드는 버튼을 클릭에 안드로이드에 AlertDialog를 표시하려면 D를. 죄송합니다!

+0

버튼을 클릭 할 때 필요하지 않습니다. if 문에서 실행해야합니다. – user2563892

+0

그런 다음 onclick 함수와 버튼을 제거하고 if (something) {경고 대화 코드를 입력하십시오}와 같은 것을 추가하십시오. – Prakhar

0

좋아 누락 단지 논리였다 밝혀 :

관련 문제