2011-06-13 44 views
-1

请看我的代码。正如你看到它有一个editText和它所做的那样 - 它在editText中保存了文本。我在网上发现了这个代码。它与我的布局完美配合。但是我添加了另一个editText框,即我称之为editText2,并且无法弄清楚如何对其进行编码。如何使第二个文本被保存呢?我需要在src中创建一个新类吗?我得到,我必须添加editText2和editBox2,但如何以及在哪里?有人可以给我一个样本,所以我可以使用它的整个代码?例如,关于protected void onCreate - 如何添加editText2?谢谢!如何为editText2框添加代码?

package tryone.now.forfreenow; 
import android.app.Activity; 
import android.content.SharedPreferences; 
import android.os.Bundle; 
import android.widget.EditText; 
import android.widget.TextView; 
public class notepad extends Activity 
{ 
@Override 
protected void onCreate(Bundle savedInstanceState) { 
    super.onCreate(savedInstanceState); 
    setContentView(R.layout.main); 
    editBox =(EditText)findViewById(R.id.editText1); 
} 
protected void onResume() { 
    super.onResume(); 
    SharedPreferences prefs = getPreferences(0); 
    String restoredText = prefs.getString("text", null); 
    if (restoredText != null) { 
     editBox.setText(restoredText, TextView.BufferType.EDITABLE); 
     int selectionStart = prefs.getInt("selection-start", -1); 
     int selectionEnd = prefs.getInt("selection-end", -1); 
     if (selectionStart != -1 && selectionEnd != -1) { 
      editBox.setSelection(selectionStart, selectionEnd); 
     } 
    } 
} 
protected void onPause() { 
    super.onPause(); 
    SharedPreferences.Editor editor = getPreferences(0).edit(); 
    editor.putString("text", editBox.getText().toString()); 
    editor.putInt("selection-start", editBox.getSelectionStart()); 
    editor.putInt("selection-end", editBox.getSelectionEnd()); 
    editor.commit(); 
} 
private EditText editBox; 

}

+0

可能重复[需要保存状态为文本编辑框。请帮帮忙!(http://stackoverflow.com/questions/6325477/need-save-state-for-text-edit-boxes-please-help)。请不要发布两次相同的问题。 – Aleadam 2011-06-13 03:48:31

回答

0

您需要了解的布局和UI控件的一些基础知识。该editBox1main.xmlres\layout目录下定义。打开该文件,并采取一看editBox1,复制代码并更改其ID,以editBox2。然后在onCreate()添加代码editBox2 =(EditText)findViewById(R.id.editText2); 得到参考

0

我回答我自己question.It工程100%,以节省两个EDITTEXT箱状态。的

package tryone.now.forfreenow; 
import android.app.Activity; 
import android.content.SharedPreferences; 
import android.os.Bundle; 
import android.widget.EditText; 
import android.widget.TextView; 
public class notepad extends Activity 
{ 
@Override 
protected void onCreate(Bundle savedInstanceState) { 
    super.onCreate(savedInstanceState); 
    setContentView(R.layout.main); 
    editBox =(EditText)findViewById(R.id.editText1); 
    editBox2 =(EditText)findViewById(R.id.editText2); 
    } 
    protected void onResume() { 
    super.onResume(); 

    SharedPreferences prefs = getPreferences(0); 
    String restoredText = prefs.getString("text", null); 
    if (restoredText != null) 
    { 
     editBox.setText(restoredText, TextView.BufferType.EDITABLE); 

     int selectionStart = prefs.getInt("selection-start", -1); 
     int selectionEnd = prefs.getInt("selection-end", -1); 
     if (selectionStart != -1 && selectionEnd != -1) 
     { 
      editBox.setSelection(selectionStart, selectionEnd); 
     } 
     SharedPreferences prefs2 = getPreferences(1); 
     String restoredText2 = prefs2.getString("text2", null); 
     if (restoredText2 != null) 
     { 
      editBox2.setText(restoredText2, TextView.BufferType.EDITABLE); 

      int selectionStart2 = prefs2.getInt("selection-start2", -1); 
      int selectionEnd2 = prefs2.getInt("selection-end2", -1); 
      if (selectionStart2 != -1 && selectionEnd2 != -1) 
      { 
       editBox2.setSelection(selectionStart2, selectionEnd2); 
      } 
     } 
    } 
} 

protected void onPause() { 
    super.onPause(); 

    SharedPreferences.Editor editor = getPreferences(0).edit(); 
    editor.putString("text", editBox.getText().toString()); 
    editor.putInt("selection-start", editBox.getSelectionStart()); 
    editor.putInt("selection-end", editBox.getSelectionEnd()); 
    editor.commit(); 

    SharedPreferences.Editor editor2 = getPreferences(1).edit(); 
    editor2.putString("text2", editBox2.getText().toString()); 
    editor2.putInt("selection-start2", editBox2.getSelectionStart()); 
    editor2.putInt("selection-end2", editBox2.getSelectionEnd()); 
    editor2.commit(); 
} 

private EditText editBox; 
private EditText editBox2; 
}