Java Runnable上的参数
我试图将“entityFinal”传递给run()方法,但由于它是可运行的,所以我没有任何参数 runOnUiThread上的“responseView.setText”被注释,因为我的android studio总是打印我的responseView为null,我不明白为什么为null,因为我正确地使用了xml上的视图 有人能给我一个提示吗?我测试了很多东西,异步任务,多线程,但这是我“几乎”工作的唯一方法 提前谢谢你 xml:Java Runnable上的参数,java,android,parameters,runnable,Java,Android,Parameters,Runnable,我试图将“entityFinal”传递给run()方法,但由于它是可运行的,所以我没有任何参数 runOnUiThread上的“responseView.setText”被注释,因为我的android studio总是打印我的responseView为null,我不明白为什么为null,因为我正确地使用了xml上的视图 有人能给我一个提示吗?我测试了很多东西,异步任务,多线程,但这是我“几乎”工作的唯一方法 提前谢谢你 xml: <TextView androi
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:textAppearance="?android:attr/textAppearanceMedium"
android:text="@string/Blank"
android:id="@+id/textView"
android:layout_below="@+id/button2"
android:layout_alignLeft="@+id/button2"
android:layout_alignStart="@+id/button2"
android:layout_marginTop="50dp"/>
对你来说,搬家
activity.runOnUiThread(new Runnable() {
@Override
public void run() {
//responseView.setText(entityFinal);
System.out.println(responseView);
}
);
进入try
块就足够了。通常,您可以使用一个构造函数来实现Runnable的类,该构造函数接受任意数量/类型的参数。比如说
public class MyRunnable implements Runnable {
private final String mString;
public MyRunnable(String string) {
mString = string;
}
@Override
public void run() {
System.out.println(mString);
}
}
您可以这样使用:
new Thread(
new Runnable() {
@Override
public void run() {
System.out.println(responseView);
}
}).start();
好的,这解决了一些错误,但现在我无法找出为什么我的“textView”在使用时为空。当我第一次创建它时,它的widget.TextView是正确的,但是当我使用它设置“entityFinal”的值时,TextView是空的。原因是您可能忘记了初始化它。你应该经常检查空对象。如果你发现了问题,我初始化的时候出错了。谢谢你的帮助!
new Thread(
new Runnable() {
@Override
public void run() {
System.out.println(responseView);
}
}).start();