2011-01-28 52 views
2

我有一個按鈕,點擊上加載RSS feed.i要加載進度條,直到我的列表opens.i已經創建了一個進度條,它的工作原理,但我按下按鈕返回到主菜單中的進度條會再次出現和它不停止(甚至沒有讓我看到我的菜單)。這是我的代碼Android的進度問題

ProgressBar myProgressBar; 
    int myProgress = 0; 

/** Called when the activity is first created. */ 
@Override 
public void onCreate(Bundle icicle) { 
    super.onCreate(icicle); 
    setContentView(R.layout.main1); 

    Button nea = (Button) findViewById(R.id.nea); 
    nea.setOnClickListener(new View.OnClickListener() { 
    public void onClick (View view) { 
    setContentView(R.layout.bar); 

    myProgressBar=(ProgressBar)findViewById(R.id.bar); 

      new Thread(myThread).start(); 

    Intent myIntent = new Intent(view.getContext(), nea.class); 
    startActivityForResult(myIntent, 0); 


    } 

    }); 

} 

,然後出的onCreate

private Runnable myThread = new Runnable(){ 

    @Override 
    public void run() { 
    // TODO Auto-generated method stub 
    while (myProgress<100){ 
     try{ 
     myHandle.sendMessage(myHandle.obtainMessage()); 
     Thread.sleep(1000); 
     } 
     catch(Throwable t){ 
     } 
    } 
    } 

    Handler myHandle = new Handler(){ 

    public void handleMessage(Message msg) { 
     // TODO Auto-generated method stub 
     myProgress++; 
     myProgressBar.setProgress(myProgress); 
    } 
    }; 
     }; 

回答

0

你活動的ISN當您從startActivityForResult活動返回時,不會重新創建,因此contentView是stuc k作爲R.layout.bar。

嘗試覆蓋onActivityResult(int requestCode,int resultCode,Intent data)方法和 調用setContentView(R.layout.main1);在它內部重置您的視圖。您可能需要再次將偵聽器添加到按鈕。