Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/184.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 使用Android的线程_Java_Android_Android Intent - Fatal编程技术网

Java 使用Android的线程

Java 使用Android的线程,java,android,android-intent,Java,Android,Android Intent,我的应用程序中有三个类。 第一个扩展活动 public class TestProjActivity extends Activity { /** Called when the activity is first created. */ String my =""; @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentV

我的应用程序中有三个类。 第一个扩展活动

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);  
}
}

第二个是DBHelper

public class DBHelper {
private final Context myContext;

public DBHelper(Context context) {      
    this.myContext = context;       
}
}

第三个扩展了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):在另一个.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):线程ID=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信号:9

我错了什么

您正试图将您的
Runnable
强制转换到
上下文中。这是不可能的

我想你要做的是

Translation th = new Translation(TestProjActivity.this);


您正试图将
可运行的
强制转换为
上下文
。这是不可能的

我想你要做的是

Translation th = new Translation(TestProjActivity.this);


翻译构造函数执行活动(上下文)。但翻译构造函数签名需要可运行。我认为这是您的问题(错误的类从上下文/活动转换为Runnable)。

翻译构造函数执行活动(上下文)。但翻译构造函数签名需要可运行。我认为这是您的问题(错误的类从上下文/活动转换为Runnable)。

以及如何调用超级构造函数DBHelper(),它将是未定义的;如何调用超级构造函数DBHelper(),它将是未定义的