2012-08-03 9 views

답변

34

그래서 여기에 최종 전체 코드가 있습니다. 대답 한 모든 사람들에게 감사드립니다.

import android.app.Activity; 
import android.content.Intent; 
import android.os.Bundle; 
import android.view.View; 
import android.widget.Toast; 

public class MainActivity extends Activity { 


@Override 
public void onCreate(Bundle savedInstanceState) { 
    super.onCreate(savedInstanceState); 
    setContentView(R.layout.main); 

    MainActivity.this.runOnUiThread(new Runnable() { 

     public void run() { 
      Toast.makeText(MainActivity.this, "This is Toast!!!", Toast.LENGTH_SHORT).show(); 

     } 
    }); 
} 

} 

그리고 XML에 대해 작성된 기본 XML 파일입니다. 변화가 필요 없습니다.

11
YourActivityName.this.runOnUiThread(new Runnable() { 

      @Override 
      public void run() { 
       Toast.makeText(YourActivityName.this, "This is Toast!!!", Toast.LENGTH_SHORT).show(); 

      } 
     }); 
+1

감사합니다! 이것은 내가 원하는 것입니다. 완벽하게 작동합니다. – Sourav301

+0

다른 클래스에서이 작업을 수행 할 수 있습니까? 지금 내 MainActivity는 다른 클래스의 스레드를 시작하고 그 클래스/스레드가 축배 메시지를 사용하기를 바랍니다. – Nefariis

0

Nefariis 질문에 답하려면 동일한 문제가 있었고 비 활동 클래스에서 축배를 던지기 위해 이것을 해결하기 위해 runOnUiThread이라는 함수에 Context를 전달할 수 있습니다. 예를 들어

:

public class FlashCardsUtil 
{ 
    public static void fillTableFromFile(SQLiteDatabase pSqLiteDatabase, final Context pContext, String pFileName) 
    { 
     ... 

     runOnUiThread(new Runnable() 
     { 
      public void run() 
      { 
       Toast.makeText(pContext, "Success filling database", Toast.LENGTH_SHORT).show(); 
      } 
     }); 
    } 
} 
관련 문제