好的,我会尽力解释这一点。
我创建了一个线程以从JSON URL生成Arraylist。我想将其返回到主线程。我当时正在考虑使用全局数组,但是显然这是一种不好的做法。
public class MainActivity extends AppCompatActivity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
LoadJson generate = new LoadJson();
GenerateDataset.thread.start();
}
如您所见,我在类Generate中调用运行线程,该线程开始创建对象数组列表。我最好如何将此数据集返回到我的原始线程。
Thread thread = new Thread(new Runnable() {
@Override
public void run() {
try {
Arraylist<elements> temp = Start(); //<----- this list is what I want to return
} catch (Exception e) {
e.printStackTrace();
}
}
答案 0 :(得分:0)
您可以在该线程可以访问的GenerateDataset类中保留一个MutableLiveData<Arraylist<elements>>
。
在MainActivity中,观察LiveData并更新UI。