2012-04-25 12 views
1

これは私のコードです。共有設定に文字列を保存したいと思います。 "のEditText AA3 =(のEditText)findViewById(R.id.et3);"Android EditTextのlogcatエラー

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から例外が発生しました このコードには解析エラーはありません。 setContentView(R.layout.main)後

答えて

1

カントのような追加のレイアウト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

ありがとうございました。そして、私は別のサブクラスでそれを使用するので、定義に最終的な変更子を追加するように私に頼みます –