想要为RunOnUIThread使用Context而不是Activity

时间:2016-08-26 10:15:50

标签: java android multithreading android-activity

我正在创建一个Android应用,我的RecyclerView使用ListAdapter。我想在不同的活动中使用它。但是当我尝试用((Activity)context)我的应用程序崩溃时这样做。然后我尝试使用处理程序和runnable,但我的布局搞砸了。用switch(ActivityName)来做这不是一个好方法,是吗?还有什么我可以做的吗?你有答案吗?

谢谢!

3 个答案:

答案 0 :(得分:4)

您也不需要上下文。

    new Handler(Looper.getMainLooper()).post(new Runnable() {
        @Override
        public void run() {
            // Your code here
        }
    });

答案 1 :(得分:0)

您在活动或片段中使用Recyler视图,

并尝试使用以下代码

adapter = new AdapterName(Activity Name / Fagment name,...........)

希望您需要粘贴代码才能正常工作

答案 2 :(得分:0)

制作活动的静态变量并存储上下文

public class MainActivity extends AppCompatActivity {
    public static MainActivity mainActivity;
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        mainActivity=this;
    }
}

现在,您可以从任何地方访问您的活动

 MainActivity.mainactivity.runOnUiThread(new Runnable() {
                @Override
                public void run() {

                }
    });