Я пытаюсь передать «entityFinal» методу run(), но так как это runnable, у меня не может быть никаких параметров.Параметры на Runnable
«responseView.setText» на runOnUiThread комментируется, потому что мой андроид студия всегда печати, что мой responseView имеет нулевое значение, и я не могу понять, почему это, так как я использую Посмотреть на XML правильно.
Может ли кто-нибудь дать мне подсказку здесь? Я тестировал много вещей, asyncTask, несколько потоков, но это единственный способ, которым у меня была эта «почти» работа.
Благодарим вас заблаговременно.
XML:
<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"/>
файл кода Java:
final TextView responseView = (TextView) activity.findViewById(R.id.textView);
new Thread(){
public void run(){
try{
HttpResponse httpResponse = httpclient.execute(httppost);
final HttpEntity entity = httpResponse.getEntity();
final String entityFinal = entity.getContent().toString();
}catch(IOException e){
System.out.println(e.getMessage());
}
activity.runOnUiThread(new Runnable() {
@Override
public void run() {
//responseView.setText(entityFinal);
System.out.println(responseView);
}
});
}
}.start();
Хорошо, это решить некоторые ошибки, но теперь я не могу понять, почему мой «TextView» равно нулю, когда я использую его. Когда я сначала создаю его, он имеет вид widget.TextView правильно, но когда я использую его для установки значения из «entityFinal», textView имеет значение null. –
Почему вы, вероятно, забыли инициализировать его. Вы должны всегда проверять нулевой объект – Blackbelt
Обнаружена проблема, я инициализировал ее неправильно. Спасибо за помощь! –