私の目的は、ユーザーがボタンをクリックしたときに EditText に入力されたフィールドを保存することです。この場合は IP アドレスです。アイデアは、保存された検索と同様に、ユーザーが EditText に焦点を合わせたときに、入力されたすべての有効な IP のリストを表示することです。
この便利なコードを見つけました。私はそれを説明するのに少し助けが必要です。このコードは、EditText でString[] array
送信されたすべてのフィールドのコレクションであると思われるすべての要素の putString を実行します。一度に 1 つのフィールドしか追加されない場合、この配列を作成するにはどうすればよいですか? 以下で何が起こっているのか説明が必要です。
public boolean saveArray(String[] array, String arrayName, Context mContext) {
SharedPreferences prefs = mContext.getSharedPreferences("preferencename", 0);
SharedPreferences.Editor editor = prefs.edit();
editor.putInt(arrayName +"_size", array.length);
for(int i = 0;i < array.length; i++){
editor.putString(arrayName + "_" + i, array[i]);
}
return editor.commit();
}
public String[] loadArray(String arrayName, Context mContext) {
SharedPreferences prefs = mContext.getSharedPreferences("preferencename", 0);
int size = prefs.getInt(arrayName + "_size", 0);
array = new String[size];
for(int i=0;i<size;i++)
array[i] = prefs.getString(arrayName + "_" + i, null);
return array;
}