4

EditTextタイトルが示すように、複数の a 内EditTextPreferenceにこれらの EditText フィールドの内容を a 内の別々の「キー」に保存することは可能でしょうか?SharedPreference

ここに画像の説明を入力

4

2 に答える 2

3

onAddEditTextToDialogView は 1 回しか呼び出せないと思いますか? 簡単な方法は、これを 2 回呼び出してみることです。ただし、すでに持っているものを上書きするだけかもしれません。ドキュメントには、このメソッドが複数回呼び出されたときに何が起こるかは記載されていません。

EditTextPreference は DialogPreference から取得されます。複数の TextField を使用して独自の DialogPreference を作成し、[OK] をクリックすると、対応する設定からそれらを保存できます。これが進むべき道です。

EditTextPreference 内に onBindDialogView(View) もあります。ここに 2 番目の EditText を追加しようとしてもうまくいくかもしれませんが、問題が発生する可能性があります。最後の手段。

于 2012-08-07T13:29:56.143 に答える
2

はい、可能です。これがあなたにアイデアを与えることを願っています:

 LayoutInflater factory = LayoutInflater.from(OptionList.this);            
 final View textEntryView = factory.inflate(R.layout.newgroup, null);
 AlertDialog.Builder alert = new AlertDialog.Builder(OptionList.this); 

  alert.setTitle("Add Group"); 
  alert.setMessage("Enter Group Name"); 
  // Set an EditText view to get user input  
  alert.setView(textEntryView); 
  AlertDialog loginPrompt = alert.create();

  final EditText input1 = (EditText) textEntryView.findViewById(R.id.et1);
  final EditText input2 = (EditText) textEntryView.findViewById(R.id.et2);

  alert.setPositiveButton("Create", new DialogInterface.OnClickListener() { 
  public void onClick(DialogInterface dialog, int whichButton) { 

              //Logic Here

 }); 

  alert.setNegativeButton("Cancel", new DialogInterface.OnClickListener() { 
  public void onClick(DialogInterface dialog, int whichButton) { 
              dialog.cancel();
                  } 
  }); 

  alert.show(); 

}
于 2012-08-07T13:31:16.353 に答える