2013-03-12 83 views
0

在一個活動中,我加載了一些自定義對象的文本值。Android重新加載文本視圖上的按鈕水龍頭

這些文本值進入textViews,textViews顯示在屏幕上。

我有上一個和下一個按鈕,當點擊時,應該用新值刷新textViews。

下面是一些代碼:

public void onCreate(Bundle savedInstanceState) { 
    super.onCreate(savedInstanceState); 
    setContentView(R.layout.activity); 

    myObj = (Object)getIntent().getSerializableExtra("Stuff"); 

    myTextView.setText(myObj.currentData().getText()); 

    prevButton = (Button) findViewById(R.id.prevButton); 
    nextButton = (Button) findViewById(R.id.nextButton); 

     prevButton.setOnClickListener(new View.OnClickListener() { 
     public void onClick(View v) { 
      Log.d("TAG", "prevButton tapped"); 
      myObj.prevData(); 
          //Would like to call refresh view here 
     } 
    }); 

    nextButton.setOnClickListener(new View.OnClickListener() { 
     public void onClick(View v) { 
      Log.d("TAG", "nextButton tapped"); 
      myObj.nextData(); 
          //Would like to call refresh view here too 
     } 
    }); 

} 

現在我注意到,當我打了一個或下一個按鈕,然後旋轉設備,視圖更新。我試圖在不旋轉設備的情況下重現這一點。

感謝

+0

你爲什麼要刷新的看法?只是問問,因爲如果您正常更改文字,他們會在下一個傳球中更新。 – Tushar 2013-03-12 00:10:21

+0

讓textView顯示新文本。現在,prev和next按鈕指向myObj的當前數據(一個數組),無論是上一個還是下一個。 textView應該顯示任何currentData()指向的內容。 – 2013-03-12 00:12:08

回答

1

你可以把它簡單,做這樣的事情:

public void onCreate(Bundle onSavedInstanceState) { 
    // Other code 
    refreshTextView(); 
} 

public void onClick(View v) { 
    // Advance currentData() 
    refreshTextView(); 
} 

private void refreshTextView() { 
    myTextView.setText(myObj.currentData().getText()); 
} 
+0

就是這樣,我不知道我是如何錯過的。謝謝 – 2013-03-12 00:25:16