2 回答
TA貢獻1875條經驗 獲得超5個贊
好的,所以我現在知道了。您的資源中有一個數組列表,用于填充微調器。單擊該項目時,代碼將獲取該項目在數組列表中的位置,并將其設置在共享首選項中,然后在 ActivityContent.java 中進行訪問。
在 ActivityContent.java 中,您從共享首選項中獲得的價值是項目在數組列表中的位置。
首先只是為了幫助您學習,我將解釋您可以用它做什么。其次,我將解釋你打算做什么。
第一的
您在 arraylist 中有 item 的位置,因此您可以在 ActivityContent.java 類中使用它來做什么,請執行此操作。
活動內容.java
String[] stringArray = getResources().getStringArray(R.array.country_arrays)
SharedPreferences sp = getSharedPreferences("My_Prefs", Activity.MODE_PRIVATE);
int sizeItemSelected= sp.getInt("VALUE", 24);
//if array contains strings if not just make this variable an Int
String sizeToSetTextViewSizeTo = stringArray[sizeItemSelected];
int tvSize = Integer.parseInt(sizeToSetTextViewSizeTo);
TextView titleTV = (TextView) findViewById(R.id.titleTextView);
titleTV.setTextSize(tvSize);
第二
您只需傳遞所選項目(您希望在活動內容中將 textview 設置為的大?。┒皇莻鬟f位置。
我認為您最初打算使用代碼做什么
case 1:
SharedPreferences.Editor editor1 = sharedPref.edit();
editor1.putInt("VALUE", spinnerBackgroundChange.getSelectedItem());
editor1.commit();
break;
而不是這個
case 1:
SharedPreferences.Editor editor1 = sharedPref.edit();
editor1.putInt("VALUE", spinnerBackgroundChange.getSelectedItemPosition());
editor1.commit();
break;
唯一的事情是我從來沒有見過這樣的案例:在它自己的內部
OnItemSelectedListender()
正如你所擁有的。但我不明白為什么這會影響代碼的第一個或第二個選項。
TA貢獻1847條經驗 獲得超7個贊
更新了解決問題的鏈接 抱歉沒有代碼。我回家后可以添加幾行,但最好的選擇是第 3 行,這是您需要研究和玩的東西。
您不能直接與來自另一個活動的視圖交互。該活動布局并未膨脹,因此您最終只會出現空指針異常。你必須間接地這樣做。有 3 種方法可以立即做到這一點。
SharedPreferences 像您一樣在您的微調器的共享首選項中設置一個值。但是在您的 activitycontent.java 中,您可以獲取共享首選項并查看某個值是否位于某個鍵值對中。如果是這樣,則在 activitycontent.java 中將文本大小設置為該值。如果它為 null 或空,那么它將是您為它設置的 contentdoa.xml 值的值。這將是最簡單的,因為您不需要為數據庫編寫頂級代碼,也不必完全重新編寫整個應用程序
活動內容.java
將此添加到 onCreate
SharedPreferences sp = getSharedPreferences("My_Prefs", Activity.MODE_PRIVATE);
int titleTextSize = sp.getInt("VALUE", 24);
TextView titleTV = (TextView) findViewById(R.id.titleTextView);
titleTV.setTextSize(titleTextSize);
以編程方式設置 TextViewSize
看看那篇文章并通讀答案和評論。您還可以嘗試的另一件事是將 Id 添加到線性布局,然后先引用它,然后再引用類似的內容。
linearLayout.findViewById..... you know how the rest goes
創建一個 SQLite 數據庫并將您的值存儲在其中。對于您的所有修改以及在每個活動中可以更改的任何內容,您都有該視圖活動檢查是否設置了值,如果設置了視圖 textSize 為該值。我會推薦更多,因為你有很多可以改變的東西。
我更推薦的是研究并使用它進行應用程序設置。 應用程序設置的默認 SharedPrefences
添加回答
舉報
