public class MyTask extends AsyncTask<Void, Integer, String> {
@Override
protected void onPostExecute(String result) {
textView.setText(result);
button.setEnabled(true);
progressDialog.hide();
Snackbar snackbar;
snackbar = Snackbar.make(/*what would i use here*/,"Download Complete", Snackbar.LENGTH_LONG);
snackbar.show();
}
}
답변
Snackbar.make()
의 첫 번째 인수는 스낵바를 표시해야하는 레이아웃입니다. 일반적으로 모든 사람이 화면 하단에 스낵바를 표시하는 등 활동 또는 단편의 상위 레이아웃을 사용합니다.
당신이해야 할 일은 스낵바를 표시하고 첫 번째 인수로 제공하려는 화면의 상위 레이아웃 객체를 만드는 것입니다.
그는 그것을 얻는 방법을 알고 싶었습니다. 나는 실제로 내 대답에 그것을 제공했습니다. – creativecreatorormaybenot
수업에 rootView
이 필요합니다.
private View rootView;
당신은 생성자의 인수로이 rootView
을 전달합니다. 당신의 전화 활동에
public MyTask(View rootView) {
this.rootView = rootView;
}
당신은 rootView
을 통과해야합니다. 이것은 View
일 수 있으며, 일반적으로 이미 rootView
이라고 불리는 부분에 있습니다. 그렇지 않으면 부모 레이아웃을 넣을 수 있습니다.
new AsyncTask(rootView).execute(); // execute() for starting your AsyncTask
그런 다음에 postExecute()
당신이 rootView
같은 것을 사용할 수 있습니다 : 귀하의 경우에 대한
Snackbar.make(rootView, "a text", Snackbar.LENGTH_LONG).show();
전체 코드 :
첫째public class MyTask extends AsyncTask<Void, Integer, String> {
private View rootView;
public MyTask(View rootView) {
this.rootView = rootView;
}
@Override
protected void onPostExecute(String result) {
textView.setText(result);
button.setEnabled(true);
progressDialog.hide();
Snackbar snackbar;
snackbar = Snackbar.make(rootView, "Download Complete", Snackbar.LENGTH_LONG);
snackbar.show();
}
}
는 기본 레이아웃에 ID를 제공합니다. 여기에 내가 layoutxx
으로 ID를 준
<android.support.constraint.ConstraintLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:id="@+id/layoutxx"
tools:context="pzy64.aaa.MainActivity">
내 main_activity.xml입니다 AsyncTask를 당신이해야 할 수도 있습니다 다른 파일에있는 경우이 내 MainActivity.java
public class MainActivity extends AppCompatActivity {
ConstraintLayout layout;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
l = (ConstraintLayout)findViewById(R.id.layoutxx);
new Test().execute();
}
class Test extends AsyncTask<Void,Void,Void> {
@Override
protected Void doInBackground(Void... params) {
return null;
}
@Override
protected void onPostExecute(Void aVoid) {
super.onPostExecute(aVoid);
Snackbar.make(layout,"Hello",Snackbar.LENGTH_SHORT).show();
}
}
}
입니다 생성자를 통해 뷰를 전달합니다. 이 경우 생성자를 통해 전달할 필요가 없습니다.
- 1. AsyncTask 클래스에서 onPostExecute()의 ProgressValue
- 2. 어떻게 AsyncTask 클래스의 onPostExecute 메서드에서 값을 반환 할 수 있습니까?
- 3. 중첩 AsyncTask 및 onPostExecute
- 4. IllegalStateException asynctask - onPostExecute
- 5. AsyncTask onPostExecute NullPointerException
- 6. AsyncTask의 onPostExecute 내의 AsyncTask?
- 7. Android AsyncTask onPostExecute 메서드
- 8. onPostExecute 메서드에서 결과를 얻는 방법
- 9. AsyncTask 클래스에서 onPostExecute() 메서드를 재정의하거나 트리거 할 수 없습니다.
- 10. setAdapter 메서드에서 AsyncTask
- 11. AsyncTask onPostExecute 메서드 내부의 LayoutInflater
- 12. AsyncTask : onPostExecute()가 호출되지 않습니다.
- 13. AsyncTask onPostExecute doInBackground에서 결과를 반환하지 않습니다.
- 14. AsyncTask onPostExecute 메도 드가 호출되지 않았습니다
- 15. 클래스에서 컨텍스트를 어떻게 사용합니까?
- 16. AsyncTask 메서드에서 FileNotFoundException을 catch하십시오.
- 17. Asynctask 클래스에서 오류가 발생했습니다.
- 18. android AsyncTask - onPostExecute 메서드를 실행할 수 없습니다.
- 19. AsyncTask onPostExecute()가 호출되지 않은 경우?
- 20. AsyncTask onPostExecute()가 호출되지 않는 경우가 있음
- 21. 에서 AsyncTask onPostExecute NetworkOnMainThreadException 오류가 발생했습니다
- 22. onPostExecute AsyncTask 안드로이드에서 호출되지 않습니다 안드로이드
- 23. onPostExecute (String) 메서드는 로컬에서 사용되지 않습니다. - AsyncTask
- 24. C# 클래스에서 Resources.resx를 어떻게 사용합니까?
- 25. Asynctask의 onPostExecute() 메서드에서 onResume() 메서드를 호출하십시오.
- 26. AsyncTask 완료 방법 비활성 클래스에서 완료
- 27. AsyncTask 클래스에서 progressdialog 오류가 발생합니다.
- 28. AsyncTask에서 doInBackground() 메서드에서 JSONObject를 onPostExecute() 메서드로 반환하는 방법?
- 29. 새 메서드에서 다른 메서드의 변수를 어떻게 사용합니까?
- 30. Asynctask 클래스에서 인 텐트를 사용하는 방법은 무엇입니까?
Snackbar.make (textview, "다운로드 완료", Snackbar.LENGTH_LONG)에서 textview를 사용할 수 있습니다. –
보기를 추가해야합니다. http://www.androidhive.info/2015/09/android-material-design-snackbar-example/ http://www.truiton.com/2015/06/ android-snackbar-example/ –
snackbar 매개 변수를 공개합니다. –