当我更新我的数据库时,我想显示一个进度对话框.我的问题是ProgressDialog出现迟到了,在4-5秒之后,然后出现并且消失的速度非常快,它在屏幕上几毫秒几乎看不到它,然后立即在列表中显示新数据.这让我觉得ProgressDialog正在等待数据库更新(它不需要花费太多,大约4.5秒)然后它会在屏幕上显示但是很快就会消失.我想立即显示ProgressDialog我按下"更新"按钮并在屏幕上停留4-5秒.
class MyAsyncTask extends AsyncTask<Void, Void, Void>{
ProgressDialog myprogsdial;
@Override
protected void onPreExecute(){
myprogsdial = ProgressDialog.show(MyActivity.this, null, "Upgrade", true);
}
@Override
protected Void doInBackground(Void... params) {
// TODO Auto-generated method stub
runOnUiThread(new Runnable() {
@Override
public void run() {
// TODO Auto-generated method stub
RefreshDataBase();
}
});
return null;
}
@Override
protected void onPostExecute(Void result){
myprogsdial.dismiss();
}
}
Run Code Online (Sandbox Code Playgroud)
我打电话的时候 new MyAsyncTask().execute();
我用android ver在Transformer Prime 201上安装了我的.apk .4.0.3但是ProgressDialog看起来不像设备上的自定义ProgressDialog.
为什么会这样?在设备上使用自定义ProgressDialog样式的代码中,我必须更改哪些内容?
ProgressDialog progressDialog = new ProgressDialog(this.context);
progressDialog.setIndeterminate(true);
progressDialog.setCancelable(true);
progressDialog.setOnCancelListener(this);
progressDialog.setCanceledOnTouchOutside(false);
progressDialog.setMessage(MESSAGE);
progressDialog.show();
Run Code Online (Sandbox Code Playgroud)

android styles progressdialog android-4.0-ice-cream-sandwich
我在更新进度条时遇到问题。我正在单独的线程中更新进度条,并在另一个线程中更新进度条进度所依赖的变量(这是一个类变量)。因此,进度对话框显示但始终为 0% 不更新进度。请帮帮我。
public void setProgressbar()
{
progressBar = new ProgressDialog(context);
progressBar.setCancelable(true);
progressBar.setMessage("File downloading ...");
progressBar.setProgressStyle(ProgressDialog.STYLE_HORIZONTAL);
progressBar.setProgress(0);
progressBar.setMax(100);
progressBar.show();
Thread thread = new Thread()
{
public void run()
{
while(progressBar.getProgress() < 100)
{
Log.v("progressbar", getProgress()+"");
progressBar.setProgress(getProgress());
try {
Thread.sleep(2000);
} catch (InterruptedException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
}
};
thread.start();
Run Code Online (Sandbox Code Playgroud)
更新值代码
Thread thread = new Thread()
{
public void run()
{
.
.
.
while((bytesRead = is.read(bytearray, 0, bytearray.length)) != -1)
{
bos.write(bytearray, 0, bytesRead); …Run Code Online (Sandbox Code Playgroud) 我想将Android应用程序转换为iPhone.我设法获取服务器的内容,
NSString *s =[NSString stringWithFormat:@"www.xyz.com"];
NSURL *url = [NSURL URLWithString:s];
// NSLog(s);
NSString *content = [NSString stringWithContentsOfURL:url encoding:NSASCIIStringEncoding error:nil];
NSData *data = [content dataUsingEncoding:NSUTF8StringEncoding];
NSDictionary *response = [NSJSONSerialization JSONObjectWithData:data options:NSJSONReadingMutableLeaves error:nil];
Run Code Online (Sandbox Code Playgroud)
但是,如何使用旋转微调器获取进度对话框直到它加载.请帮助和帮助.
我正在运行ProgressDialog,并且我不希望在此ProgressDialog运行时屏幕熄灭.我该怎么用?我应该使用Windows功能,还是类似的东西?
我已经创建了一个应用程序,其中用户登录他的帐户.为此我使用asyncTask.Everything工作正常,但事情是当我得到响应,我希望进度条停止.但它继续下去.
异步任务
protected void onPreExecute() {
super.onPreExecute ();
CommonFunctions.showProgress (c, "Please Wait", true);
}
@Override
protected void onPostExecute(String s) {
super.onPostExecute (s);
try {
JSONObject jsonObject = new JSONObject (s.trim ());
JSONObject NewDataSet = jsonObject.getJSONObject ("NewDataSet");
JSONObject Table = NewDataSet.getJSONObject ("Table");
String User_ID = Table.getString ("User_ID");
String Vendor_IEntity_Code = Table.getString ("Vendor_IEntity_Code");
String Vendor_Name = Table.getString ("Vendor_Name");
// setting the preferences
SettingPreference.setUserId (c, User_ID);
SettingPreference.setVendorId (c, Vendor_IEntity_Code);
SettingPreference.setVendorName (c, Vendor_Name);
} catch (JSONException e) {
e.printStackTrace ();
}
CommonFunctions.showProgress (c, "", …Run Code Online (Sandbox Code Playgroud) 那
我试过实现它.
mProgressDialog = new ProgressDialog(this);
mProgressDialog.getWindow().setContentView(R.layout.footcloth);
mProgressDialog.setMessage(Constants.PROGRESS_DIALOG_MESSAGE);
mProgressDialog.show();
Run Code Online (Sandbox Code Playgroud)
但是这个代码抛出异常
java.lang.RuntimeException: Unable to start activity ComponentInfo{im.anticafe.anticafeim/im.anticafe.anticafeim.activities.HomeActivity}: android.util.AndroidRuntimeException: requestFeature() must be called before adding content
Run Code Online (Sandbox Code Playgroud)
此代码在活动BottomBarActivity中实现
abstract public class BottomBarActivity extends AppCompatActivity implements View.OnClickListener {
private static final String TAG = "bottomBarActivity";
private int mWidth;
private ProgressDialog mProgressDialog;
@Override
protected void onCreate(Bundle savedInstanceState) {
...
mProgressDialog = new ProgressDialog(this);
mProgressDialog.getWindow().setContentView(R.layout.footcloth);
mProgressDialog.setMessage(Constants.PROGRESS_DIALOG_MESSAGE);
mProgressDialog.show();
...
}
...
}
Run Code Online (Sandbox Code Playgroud)
而这项活动正在其他方面扩展.所以,请帮我解决我的问题,谢谢)
我正在从互联网下载一个 mp3 文件并将其保存到内部存储中。下载进度显示在ProgressDialog. 该ProgressDialog显示百分比进度这是罚款。在右侧,它将进度显示为 1/100 .... 我希望它显示以 MB 为单位下载的文件的当前大小/以 MB 为单位下载的文件的总大小。
如下图所示。灰色文本是当前显示的文本。我希望它像下面的文字一样显示为红色。
这是当前的代码:
public class DownloadSKHindi extends AsyncTask<String, Integer, String> {
@Override
protected void onPreExecute() {
super.onPreExecute();
progressDialog = new ProgressDialog(getActivity());
progressDialog.setMessage("Downloading");
progressDialog.setMax(100);
progressDialog.setCancelable(false);
progressDialog.setCanceledOnTouchOutside(false);
progressDialog.setProgressStyle(ProgressDialog.STYLE_HORIZONTAL);
progressDialog.show();
}
@Override
protected String doInBackground(String... params) {
int count = 0;
try {
url = new URL(skURL[10]);
connection = url.openConnection();
connection.connect();
int lengthOfFile = connection.getContentLength();
InputStream input = new BufferedInputStream(url.openStream());
OutputStream output = getActivity().openFileOutput(file.getPath(), Context.MODE_PRIVATE);
byte data[] = new …Run Code Online (Sandbox Code Playgroud) 我想展示一个涵盖整个屏幕的ProgressDialog.我的意思是当对话框显示时,不应触摸或点击或交互UI.如何创建这样的对话框?