2012-10-22 61 views
0

我在我的Activity中有兩個Buttons。當我點擊每個按鈕時,我必須刷新頁面並調用一種方法。該方法有助於顯示database的一些數據提取。在編程上以android刷新活動時出現問題

當我點擊第一個button時,我能夠得到正確的輸出,但突然頁面被刷新。我需要顯示輸出,直到單擊另一個button

請幫幫我。在此先感謝

CODE:

case R.id.button1: 
    View view = null; 
    refresh(view); 
    set_day="Monday";//Monday 
    viewgroups_ineditgroup(set_day);s   
    break; 
case R.id.button2: 
    View view1 = null; 
    refresh(view1); 
    set_day="Tuesday"; 
    viewgroups_ineditgroup(set_day); 
    break; 

public void refresh(View view){   
    onRestart();  
} 

@Override 
protected void onRestart() { 
    // TODO Auto-generated method stub 
    super.onRestart(); 
    Intent i = new Intent(CurrentActivity.this, CurrentActivity); 
    i.putExtra("group_name", intentData); 
    startActivity(i); 
    finish(); 
} 
+0

我想在頁面刷新的原因是因爲你正在調用onRestart,這是導致當前活動結束並開始一個新的活動,在刷新功能。我不認爲有這種需要。 – 13hsoj

+0

thnk u 13hsoj。看到我需要將一些額外的意圖傳遞給此活動。那是我用過的。請幫我 – AndroidRaji

+0

有'onNewIntent'應該可以幫你解決這個問題 – NikkyD

回答

0

的問題是,如果你真的需要刷新活動?頁面本身可以在沒有這個的情況下進行更改。你可以像這樣運行

runOnUiThread(new Runnable() { 
    public void run() { 
     //TODO add ui code here 
    } 
}); 
0
void refresh(View view) { 
    /* 
    1. open the db here 
    2. fetch the data 
    3. assign the data to your views 
    4. close the db 
    */ 
} 

更改UI線程我不知道爲什麼要傳遞null作爲參數..

+0

您可以在petroo建議的runOnUiThread()方法中執行這4個步驟 – Santhosh

0
Intent intent1 = getIntent(); 
overridePendingTransition(0, 0); 
intent1.addFlags(Intent.FLAG_ACTIVITY_NO_ANIMATION); 
finish(); 
overridePendingTransition(0, 0); 
startActivity(intent1);