2011-04-24 82 views
0

我想单击à按钮时弹出一个ProgressDialog。通过点击这个按钮,它开始解析一个XML文件并在一个ListView中显示结果。当我点击一个按钮时创建一个ProgressDialog

我试过,但它不工作:

// --- NEWS BUTTON 
    OnClickListener newsButtonListener = new OnClickListener() 
    { 

     @Override 
     public void onClick(View actuelView) 
     { 

     // Navigation to another screen 
     Intent intent = new Intent(Lausanne_HC.this, NewsViewController.class); 
     startActivity(intent); 
     ProgressDialog dialog = ProgressDialog.show(Lausanne_HC.this, "", 
        "Loading. Please wait...", true); 

     } 

    }; 
    ImageButton newsButton = (ImageButton) findViewById(R.id.newsButton); 
    newsButton.setOnClickListener(newsButtonListener); 

我能做些什么?

感谢

+0

http://p-xr.com/android-tutorial-how-to-parseread-xml-data-into-android-listview/ http://www.ibm.com/developerworks/opensource/库/ x-android /这会帮助你。如果您不打算通过Web服务调用从服务器获取任何排序数据。比你必须实现一个简单的线程,并让它睡眠所需的毫秒数量的时间。例如。 3000毫秒= 3秒 – SALMAN 2011-11-11 09:35:29

回答

0

通过使用意向来打开另一个活动,Android的离开当前活动。如果活动的意图你的开场是显示您的分析数据的活动,你应该做到以下几点:

  1. 打开ProgressDialog
  2. 启动一个新线程解析您的XML 文件
  3. 后,文件进行分析,杀 线程,并使用意向显示 数据

我发现this older thread几乎同一主题。

0

您应该将生成ProgressDialog的代码置于被调用Activity的开头。然后使用另一个线程来解析您的XML文件,并在工作完成后生成ListView,解雇ProgressDialog

所有这些代码都应放在显示ListView的活动中,因为ProgreeDialog会显示XML解析的进度。

0
new Handler().postDelayed(new Runnable() { 

     @Override 
     public void run() { 

      /* Create an Intent that will start the Menu-Activity. */ 

      Intent mainIntent = new Intent(SplashScreenActivity.this, 
        FastMainActivity.class); 

      SplashScreenActivity.this.startActivity(mainIntent); 
      //overridePendingTransition(android.R.anim.slide_in_left, 
       // android.R.anim.slide_out_right); 

      SplashScreenActivity.this.finish(); 

     } 

    }, SPLASH_DISPLAY_LENGHT); // SPLASH_DISPLAY_LENGTH=3000 
1

按钮点击

Button click = (Button) findViewById(R.id.button1); 
     click.setOnClickListener(new OnClickListener() { 

      public void onClick(View v) { 
       // TODO Auto-generated method stub 
       openprogresdialog(); 
      } 
     }); 

创建此方法。

private void openprogresdialog() { 
     // TODO Auto-generated method stub 
     final ProgressDialog progDailog = ProgressDialog.show( 
       HidekeybordActivity.this, "Testing", "Please wait...", true); 

     new Thread() { 
      public void run() { 
       try { 
        // xml parser code here put... 
       } catch (Exception e) { 
       } 
       progDailog.dismiss(); 
      } 
     }.start(); 
    } 
相关问题