我正在使用android studio製作我的第一個android應用程序。在這個應用程序中,我有12個類(12個項目)的列表視圖。點擊一個課程後,它會進入一個帶有10個這個課程的標籤活動。在每個標籤頁上,我都有一個評級欄來讓人們評價該項目。Android工作室:ListView到選項卡式活動,在標籤頁上保存額定欄評分
我爲列表視圖設置了一個活動,併爲這12個選項卡活動設置了12個獨立活動。從列表視圖每個標籤活動的代碼是這樣的:
listView.setOnItemClickListener(new AdapterView.OnItemClickListener() {
@Override
public void onItemClick(AdapterView<?> adapterView, View view, int i, long l) {
if(i==0){
Intent intent = new Intent(ListViewActivity.this, TabbedActivity1.class);
intent.putExtra("styleName", STYLE_NAMES[i]);
intent.putExtra("styleExample",STYLE_EXAMPLES[i]);
startActivity(intent);
}
else if(i==1){
Intent intent = new Intent(ListViewActivity.this, TabbedActivity2.class);
intent.putExtra("styleName", STYLE_NAMES[i]);
intent.putExtra("styleExample",STYLE_EXAMPLES[i]);
startActivity(intent);
}
...... // skip the other 10 tabbed activities.
}
現在的問題是:當我完成評分的標籤活動,我返回到ListView活動,點擊進入每個標籤的活動再次,收視率不見了。
我猜我的理由是,在我的代碼中,每次點擊該項目時都會打開一個新的標籤式活動,雖然佈局相同,但內容不會被保存。
所以我想知道我是否應該在ListView活動上做點什麼來保存收視率。我已經搜索了相關的問題,但是我發現在他們的情景中,每個列表項只是一個簡單的評分欄。但是在這裏,我的列表項是一個帶有10個評分欄的選項卡式活動。
因此,我不知道該怎麼做。我沒有android工作室的經驗,所以我不知道從哪裏開始解決這個問題。任何想法表示讚賞!提前感謝!
謝謝您的回答。但我不知道爲什麼它不適合我的情況。兩個問題:1.我首先保留12-activities-for-tab-Activity設置並實現您的評分檢索代碼。但是,「int rating = extras.getInt(」rating「)''會返回給我''0''。 2.我爲這12項活動使用了1項活動並實施了您的代碼,但是當我點擊ListView上的項目時APP停止。我想知道這些問題是否是由我的標籤視圖設計引起的。就我而言,每個選項卡活動包含10個視圖,每個視圖用於一個選項卡頁面,並且評級欄分佈在每個視圖中。 – gladys0313
因此,12(標籤活動)* 10意見= 120意見,所以我有120個ratingbars。每次我回到標籤活動時,都應該檢索10個評分等級。你認爲這是問題的原因嗎? – gladys0313
該示例假設每個選項卡活動都具有一個評級。您可以創建一個包含10個評分的模型。而不是'intent.putExtra(「rating」,ratingBar.getRating());'在這裏傳遞單個評分,你可以通過這個模型。我在'onDestroy'之前傳遞了結果,你可以嘗試'onBackPressed'以及 – santalu