标签: progressdialog

不推荐使用ProgressDialog.使用的替代方法是什么?

我发现ProgressDialog现在已经弃用了.除了之外,还有什么可以代替它ProgressBar.我正在使用android studio版本2.3.3.

ProgressDialog progressDialog=new ProgressDialog(this);
progressDialog.show();
Run Code Online (Sandbox Code Playgroud)

android progressdialog android-progressbar

178
推荐指数
10
解决办法
15万
查看次数

ProgressBar/ProgressDialog的自定义Drawable

阅读Google提供的有限文档后,我感觉可以通过简单地创建一个新样式并将其分配给ProgressBar的样式属性来更改ProgressBar/ProgressDialog的外观(可绘制).但我不能让它正常工作.这是我到目前为止所做的:

我创建了这样的形状(mp2.xml)

<?xml version="1.0" encoding="UTF-8"?>
<shape xmlns:android="http://schemas.android.com/apk/res/android"
  android:shape="ring"
  android:innerRadiusRatio="4"
  android:thicknessRatio="4"
  android:useLevel="false">
 <size android:width="50dip" android:height="50dip" />
 <gradient android:type="sweep" android:useLevel="false" android:startColor="#300000ff" android:centerColor="#500000ff" android:endColor="#ff0000ff" />
</shape>
Run Code Online (Sandbox Code Playgroud)

然后像这样创建了一个动画(mp3.xml):

<?xml version="1.0" encoding="utf-8"?>
<animation-list xmlns:android="http://schemas.android.com/apk/res/android" android:oneshot="false">
 <item android:duration="70">
  <rotate xmlns:android="http://schemas.android.com/apk/res/android" android:drawable="@drawable/mp2" android:pivotX="50%" android:pivotY="50%" android:fromDegrees="0" android:toDegrees="30" android:repeatCount="1" />
 </item>
 <item android:duration="70">
  <rotate xmlns:android="http://schemas.android.com/apk/res/android" android:drawable="@drawable/mp2" android:pivotX="50%" android:pivotY="50%" android:fromDegrees="30" android:toDegrees="60" android:repeatCount="1" />
 </item>
 <item android:duration="70">
  <rotate xmlns:android="http://schemas.android.com/apk/res/android" android:drawable="@drawable/mp2" android:pivotX="50%" android:pivotY="50%" android:fromDegrees="60" android:toDegrees="90" android:repeatCount="1" />
 </item>
 <item android:duration="70">
  <rotate xmlns:android="http://schemas.android.com/apk/res/android" android:drawable="@drawable/mp2" android:pivotX="50%" android:pivotY="50%" android:fromDegrees="90" android:toDegrees="120" android:repeatCount="1" />
 </item>
 <item android:duration="70"> …
Run Code Online (Sandbox Code Playgroud)

android progressdialog progress-bar

122
推荐指数
6
解决办法
16万
查看次数

Android:ProgressDialog.show()与getApplicationContext崩溃

我似乎无法理解为什么会这样.这段代码:

mProgressDialog = ProgressDialog.show(this, "", getString(R.string.loading), true);
Run Code Online (Sandbox Code Playgroud)

工作得很好.但是,这段代码:

mProgressDialog = ProgressDialog.show(getApplicationContext(), "", getString(R.string.loading), true);
Run Code Online (Sandbox Code Playgroud)

抛出以下异常:

W/WindowManager(  569): Attempted to add window with non-application token WindowToken{438bee58 token=null}.  Aborting.
D/AndroidRuntime( 2049): Shutting down VM
W/dalvikvm( 2049): threadid=3: thread exiting with uncaught exception (group=0x4001aa28)
E/AndroidRuntime( 2049): Uncaught handler: thread main exiting due to uncaught exception
E/AndroidRuntime( 2049): java.lang.RuntimeException: Unable to start activity ComponentInfo{com.tastekid.TasteKid/com.tastekid.TasteKid.YouTube}: android.view.WindowManager$BadTokenException: Unable to add window -- token null is not for an application
E/AndroidRuntime( 2049):    at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2401)
E/AndroidRuntime( 2049):    at …
Run Code Online (Sandbox Code Playgroud)

android progressdialog

108
推荐指数
6
解决办法
14万
查看次数

ProgressDialog中的'不确定'是什么意思?

也许我的英语很差,但我真的无法弄清楚" 不确定 "在这种情况下意味着什么:

Android开发→ ProgressDialog.isIndeterminate()

android dialog progressdialog

92
推荐指数
3
解决办法
4万
查看次数

Android碎片.在屏幕旋转或配置更改期间保留AsyncTask

我正在使用智能手机/平板电脑应用程序,只使用一个APK,并根据屏幕大小根据需要加载资源,最佳设计选择似乎是通过ACL使用Fragments.

这个应用程序一直工作正常,直到现在只是基于活动.这是一个模拟类,用于处理活动中的AsyncTasks和ProgressDialogs,以便在屏幕旋转或通信中发生配置更改时使它们工作.

我不会改变清单以避免重新创建活动,有很多原因我不想这样做,但主要是因为官方文档说它不是推荐的,而且我已经管理了这么远,所以请不要推荐路线.

public class Login extends Activity {

    static ProgressDialog pd;
    AsyncTask<String, Void, Boolean> asyncLoginThread;

    @Override
    public void onCreate(Bundle icicle) {
        super.onCreate(icicle);
        setContentView(R.layout.login);
        //SETUP UI OBJECTS
        restoreAsyncTask();
    }

    @Override
    public Object onRetainNonConfigurationInstance() {
        if (pd != null) pd.dismiss();
        if (asyncLoginThread != null) return (asyncLoginThread);
        return super.onRetainNonConfigurationInstance();
    }

    private void restoreAsyncTask();() {
        pd = new ProgressDialog(Login.this);
        if (getLastNonConfigurationInstance() != null) {
            asyncLoginThread = (AsyncTask<String, Void, Boolean>) getLastNonConfigurationInstance();
            if (asyncLoginThread != null) {
                if (!(asyncLoginThread.getStatus()
                        .equals(AsyncTask.Status.FINISHED))) {
                    showProgressDialog();
                }
            }
        } …
Run Code Online (Sandbox Code Playgroud)

android progressdialog android-asynctask android-fragments android-support-library

84
推荐指数
4
解决办法
6万
查看次数

无法在未在AsyncTask for ProgressDialog中调用Looper.prepare()的线程内创建处理程序

我不明白为什么我会收到这个错误.我正在使用AsyncTask在后台运行一些进程.

我有:

protected void onPreExecute() 
{
    connectionProgressDialog = new ProgressDialog(SetPreference.this);
    connectionProgressDialog.setCancelable(true);
    connectionProgressDialog.setProgressStyle(ProgressDialog.STYLE_SPINNER);
    connectionProgressDialog.setMessage("Connecting to site...");
    connectionProgressDialog.show();

    downloadSpinnerProgressDialog = new ProgressDialog(SetPreference.this);
    downloadSpinnerProgressDialog.setProgressStyle(ProgressDialog.STYLE_SPINNER);
    downloadSpinnerProgressDialog.setMessage("Downloading wallpaper...");
}
Run Code Online (Sandbox Code Playgroud)

当我doInBackground()根据条件进入时我:

[...]    
connectionProgressDialog.dismiss();
downloadSpinnerProgressDialog.show();
[...]
Run Code Online (Sandbox Code Playgroud)

每当我尝试downloadSpinnerProgressDialog.show()我收到错误.

有什么想法吗?

java android runtime-error progressdialog looper

78
推荐指数
2
解决办法
10万
查看次数

显示ProgressDialog Android

我有一个EditText,它从用户和searchButton获取一个String.单击searchButton时,它将搜索XML文件并将其显示在ListView中.

我能够从用户那里获取输入,搜索XML文件并在ListView中显示用户搜索的值.

我想要的是ProgressDialog在点击searchButton之后显示一个像"请等待...检索数据......"之类的东西,并在显示数据时将其关闭.

public class Tab1Activity extends ListActivity {
private Button okButton;
private Button searchButton;
Toast toast;
String xml;

private TextView searchText;
private String searchTextString;
HashMap<String, String> o;
ArrayList<HashMap<String, String>> mylist = new ArrayList<HashMap<String, String>>();

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

    searchButton = (Button) findViewById(R.id.search_button);
    searchButton.setOnClickListener(new View.OnClickListener() {

        public void onClick(View v) {
            // TODO Auto-generated method stub
            System.out.print("hello");

            searchText = (TextView) findViewById(R.id.search_text);
            searchTextString = searchText.getText().toString();
            readXml(searchTextString);

        }
    });

}

private void readXml(String searchTextString1) {
    ArrayList<HashMap<String, …
Run Code Online (Sandbox Code Playgroud)

multithreading android progressdialog

78
推荐指数
3
解决办法
21万
查看次数

AsyncTask中的progressDialog

我正在尝试从http服务器加载rss feed时显示自定义progressdialog,我进行了一次硬搜索,但没有任何帮助我这样做,我唯一知道的是解决方案应该使用AsyncTask,但我很困惑params传递给这个AsyncTask.这是我的活动:

public class Soirees extends ListActivity {

    private List<Message> messages;
    private TextView tvSorties;
    private MyProgressDialog dialog;

    @Override
    public void onCreate(Bundle icicle) {

        super.onCreate(icicle);
        setContentView(R.layout.sorties);

        tvSorties=(TextView)findViewById(R.id.TVTitle);
        tvSorties.setText("Programme des soirées");

        loadFeed();

    }

    private void loadFeed(){

        try{
            BaseFeedParser parser = new BaseFeedParser();
            messages = parser.parse();
            List<Message> titles = new ArrayList<Message>(messages.size());
            for (Message msg : messages){
                titles.add(msg);
            }
            MessageListAdapter adapter = new MessageListAdapter(this,titles);
            this.setListAdapter(adapter);
            adapter.notifyDataSetChanged();

        } catch (Throwable t){
            Log.e("ImageLoader",t.getMessage(),t);
        }
    }

}
Run Code Online (Sandbox Code Playgroud)

你能帮我添加AsyncTask吗?

谢谢你,Houssem

android progressdialog android-asynctask

64
推荐指数
3
解决办法
13万
查看次数

如何轻松地在ProgressDialog中居中进度指示器(当没有标题/文本传递时)

progressDialog = ProgressDialog.show(this, null, null, true);通常在调用时,开发人员只想显示进度指示图像,并且通常希望在窗口中居中(至少从常规UI设计的角度来看).但是图像太远了,看起来右边的一些填充/边距仍然在右边的(可选)文本中计算,尽管我们没有传递任何文本作为参数.它只会让开发人员的生活变得更容易:)所以我们不需要创建自定义对话框,以便默认情况下使进度指示器居中.

(我在http://code.google.com/p/android/issues/detail?id=9697上将此作为功能请求提交;如果您还希望看到此改进,请将其加注星标).

现在我的问题:

  1. 如何轻松地将进度图像居中,而无需完全创建自己的自定义警报对话框类?我可能忽略了任何参数?

  2. 此外,如何将背景设置为透明?

我也想知道这个:https: //stackoverflow.com/questions/2866141/how-to-put-custom-animation-into-a-progressdialog 我还没有亲自尝试过但是如果你不能创建自定义动画,这意味着如果你想要一种动画进度指示器,你总是需要扩展ProgressDialog类吗?但是看看ProgressDialog类,我找不到除了常规drawable之外的任何东西(ProgressDialog.java),他们没有在那里使用AnimatedDrawable.

android progressdialog

62
推荐指数
5
解决办法
7万
查看次数

Android:"BadTokenException:无法添加窗口;您的活动是否正在运行?" 在PreferenceActivity中显示对话框

我想请求一些帮助:在我的应用程序中,我只有一个活动,一个PreferenceActivity(不需要其他活动,它只是一个简单的后台同步应用程序,所以它PrefsActivity是Main/Launcher).在用户设置首选项之后,检查a checkBoxPreference,然后启动(或停止)服务.在开始时,会出现一个对话框.但问题是:如果用户按下(离开活动),再次启动它,然后尝试检查checkBoxPref.,prefsactivity崩溃.对话框没有显示.我不知道为什么,以及如何解决它.

这段代码与那部分完全相同,是什么给了我这个问题:

PrefsActivity.java:

   package is.it.works;

   // imports .....

   public class PrefsActivity extends PreferenceActivity implements OnSharedPreferenceChangeListener {
SharedPreferences prefs;

@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    addPreferencesFromResource(R.xml.prefs);
    prefs = PreferenceManager.getDefaultSharedPreferences(this);
    prefs.registerOnSharedPreferenceChangeListener(this);
}// onCreate

@Override
public void onSharedPreferenceChanged(SharedPreferences preferences, String key) {
    if (key.equals("checkTest")) {
        showDialog(1);
    }
    if (key.equals("cancel")) {
        dismissDialog(1);
    }
}// onSPC

@Override
protected Dialog onCreateDialog(int id) {
    switch (id) {
    case 1: {
        ProgressDialog dialog = new ProgressDialog(this);
        dialog.setMessage("press …
Run Code Online (Sandbox Code Playgroud)

android progressdialog preferenceactivity

57
推荐指数
2
解决办法
6万
查看次数