2012-04-25 96 views
1

這是我的代碼。我想將我的字符串保存到共享首選項中。Android上的logcat錯誤EditText

private String sla; 
private String b; 
private String c; 
//EditText aa=(EditText)findViewById(R.id.et1); 
EditText aa2=(EditText)findViewById(R.id.et2); 
EditText aa3=(EditText)findViewById(R.id.et3); 
SharedPreferences settings = getSharedPreferences ("PREF_DEMO", 0); 

/** Called when the activity is first created. */ 
     @Override 
     public void onCreate(Bundle savedInstanceState) { 
     super.onCreate(savedInstanceState); 
     setContentView(R.layout.setup); 

     RadioGroup rdg=(RadioGroup)findViewById(R.id.ragp); 

     rdg.setOnCheckedChangeListener(new RadioGroup.OnCheckedChangeListener() { 
       public void onCheckedChanged(RadioGroup group, final int checkedId) { 
        switch (checkedId) { 
         case R.id.radio0: 
          sla = "au"; 
          Toast.makeText(group.getContext(), "Auto", Toast.LENGTH_LONG).show(); 
          break; 
         case R.id.radio1: 
          sla = "ma"; 
          Toast.makeText(group.getContext(), "Manual", Toast.LENGTH_LONG).show(); 
          break; 
         } 
       }; 
      }); 
     final Button set = (Button) findViewById(R.id.nn); 
     set.setOnClickListener(new View.OnClickListener() { 
      public void onClick(View v) { 
       // Perform action on click 
       // a=aa.getText().toString(); 
       b=aa2.getText().toString(); 
       c=aa3.getText().toString(); 
       SharedPreferences.Editor editor = settings.edit(); 

       editor.putString("sp", b); 
       editor.putString("tp", c); 
       editor.putString("op", sla); 
       editor.commit(); 
       Toast.makeText(v.getContext(), "saved", Toast.LENGTH_LONG).show(); 
      } 
     }); 

所以,我從logcat的講述上線錯誤的異常 「的EditText AA3 =(EditText上)findViewById(R.id.et3);」 這段代碼沒有解析錯誤。

回答

1

後的setContentView(R.layout.main)加入這一行因爲之前從斜面佈局xml文件

EditText aa2=(EditText)findViewById(R.id.et2); 
    EditText aa3=(EditText)findViewById(R.id.et3); 

添加像得到refrence ....

EditText aa2; 
    EditText aa3; 

public void onCreate(Bundle savedInstanceState) { 
     super.onCreate(savedInstanceState); 
     setContentView(R.layout.setup); 

     aa2=(EditText)findViewById(R.id.et2); 
     aa3=(EditText)findViewById(R.id.et3); 
+0

謝謝。日食會要求我在定義中添加最終修飾符,因爲我在另一個子類中使用它 – 2012-04-25 13:58:28