如何将活动中的重写方法用作自己的方法

时间:2018-06-28 18:20:02

标签: java android multithreading

我创建了一个应用程序,从服务器到我的HelperClass都可以得到答案。 HelperClass有几个@override方法。我在每个活动中都覆盖了此方法。

所以现在我的问题是,由于多线程,我遇到了很多问题。例如,简单的吐司。我必须每次都使用runOnUiThread()。或“只有创建视图层次结构的原始线程才能触摸其视图。”重写的Helperclass方法应使用(例如)MainActivity-Method设置新布局时。

有什么解决方案,我该如何解决这些问题?

代码示例:

public abstract class HelperClass extends AppCompatActivity{
    @Override
    public void methodOne() {    }

    @Override
    public void methodTwo() {    }
}

这是我定义的方法。另一个类从服务器获取答案并调用它们。 (一切正常)。 我在每个Activity(例如MainActivity)中都覆盖了它们

public class MainActivity extends HelperClass {

@Override
protected void onCreate(Bundle savedInstanceState){
setContentView(R.layout.first_layout);
}
@Override
public void methodOne() {
Toast.makeText(this,"text",Toast.LENGTH_SHORT).show();
}
@Override
public void methodTwo() { 
setContentView(R.layout.second_layout);
}
}

因此,当我在不使用runUIThread()的情况下使用它们时,将出现错误消息。我需要针对所有地方的解决方案,因为我认为这并不干净。当我想使用View或其他方法时,应该有一个更好的方法,然后在每个方法中使用runUIthread()(到目前为止,我只有这两个问题,仍然需要声明20-30个Funktions)。

0 个答案:

没有答案