メインクラス
public class Main extends Activity {
Button login;
TextView sett;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
TextView sett = (TextView) findViewById(R.id.textView1);
Button login = (Button) findViewById(R.id.login);
login.setOnClickListener(new OnClickListener(){
@Override
public void onClick(View arg0) {
// TODO Auto-generated method stub
Intent i = new Intent(
Main.this,
Authenticate.class);
startActivity(i);
}
// remaining code.......
認証クラス (呼び出されたクラス)
public class Authenticate extends Activity {
Main Instance = new Main();
@Override
protected void onCreate(Bundle savedInstanceState) {
// TODO Auto-generated method stub
super.onCreate(savedInstanceState);
setContentView(R.layout.authenticate);
new Thread(new Runnable() {
public void run() {
Instance.sett.setText("activity started, thread started, success!!");
}
}).start();
}
上記のコードでヌル ポインター例外エラーが発生します。認証クラスで textview 変数が定義されている場合、コードは正常に実行されます。
ログキャット
12-18 16:49:15.219: D/dalvikvm(2747): GC_CONCURRENT freed 1901K, 41% free 2990K/5032K, paused 8ms+95ms, total 181ms
12-18 16:49:15.330: W/Trace(2747): Unexpected value from nativeGetEnabledTags: 0
12-18 16:49:15.330: W/dalvikvm(2747): threadid=11: thread exiting with uncaught exception (group=0x40a70930)
12-18 16:49:15.339: E/AndroidRuntime(2747): FATAL EXCEPTION: Thread-198
12-18 16:49:15.339: E/AndroidRuntime(2747): java.lang.NullPointerException
12-18 16:49:15.339: E/AndroidRuntime(2747): at com.example.myproject.Authenticate$1.run(Authenticate.java:21)
12-18 16:49:15.339: E/AndroidRuntime(2747): at java.lang.Thread.run(Thread.java:856)
12-18 16:49:15.359: W/Trace(2747): Unexpected value from nativeGetEnabledTags: 0
12-18 16:49:15.359: W/Trace(2747): Unexpected value from nativeGetEnabledTags: 0
12-18 16:49:15.379: W/Trace(2747): Unexpected value from nativeGetEnabledTags: 0
12-18 16:49:15.379: W/Trace(2747): Unexpected value from nativeGetEnabledTags: 0
12-18 16:49:15.419: W/Trace(2747): Unexpected value from nativeGetEnabledTags: 0
静的 TextView sett も試しました。メインクラスと Main.sett.setText("アクティビティ開始、スレッド開始、成功!!"); 認証クラスファイルでまだヌルポインターエラーが発生しています