アプリに 3 つのクラスがあります。最初にアクティビティを拡張します
public class TestProjActivity extends Activity {
/** Called when the activity is first created. */
String my ="";
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
new Thread(new Runnable() {
public void run() {
Translation th = new Translation(this);
my = th.doSomeJob();
}
}).start();
Log.d("ONCREATE", my);
}
}
2番目はDBHelperです
public class DBHelper {
private final Context myContext;
public DBHelper(Context context) {
this.myContext = context;
}
}
そして3番目はDBhelperを拡張します
public class Translation extends DBHelper {
public Translation(Runnable runnable) {
super((Context) runnable);
}
public String doSomeJob(){
return "Yes I DID!";
}
}
将来、このクラスを実際の仕事をするように変更しますが、今、これを実行すると、次のエラーが発生します。
- 05-11 13:15:53.003: E/AndroidRuntime(512): キャッチされていないハンドラー: スレッド スレッド 8 がキャッチされていない例外のために終了しています
- 05-11 13:15:53.028: E/AndroidRuntime(512): java.lang.ClassCastException: iKA.PROJ.TestProjActivity$1
- 05-11 13:15:53.028: E/AndroidRuntime(512): at another.pack.Translation.(Translation.java:10)
- 05-11 13:15:53.028: E/AndroidRuntime(512): iKA.PROJ.TestProjActivity$1.run(TestProjActivity.java:20) で
- 05-11 13:15:53.028: E/AndroidRuntime(512): java.lang.Thread.run(Thread.java:1096) で
- 05-11 13:15:53.053: I/dalvikvm(512): threadid=7: シグナル 3 に反応しています
- 05-11 13:15:53.053: E/dalvikvm(512): スタック トレース ファイル '/data/anr/traces.txt' を開けません: アクセス許可が拒否されました
- 05-11 13:20:53.135: I/プロセス (512): 信号を送信しています。PID: 512 SIG: 9
私は何を間違っていますか?