出现“Android线程处理程序始终为空”的问题通常是因为没有正确初始化或设置线程处理程序。
以下是解决方法的代码示例:
public class MainActivity extends AppCompatActivity {
private Handler mHandler;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
mHandler = new Handler();
}
}
public class MyFragment extends Fragment {
private Handler mHandler;
@Nullable
@Override
public View onCreateView(LayoutInflater inflater, @Nullable ViewGroup container, @Nullable Bundle savedInstanceState) {
View rootView = inflater.inflate(R.layout.fragment_my, container, false);
mHandler = new Handler();
return rootView;
}
}
public class MyThread extends Thread {
private Handler mHandler;
@Override
public void run() {
Looper.prepare();
mHandler = new Handler();
// 执行处理程序的操作
Looper.loop();
}
}
请注意,在非UI线程中使用线程处理程序时,需要使用Looper.prepare()和Looper.loop()方法来创建Looper对象,并在调用Looper.loop()之前初始化Handler对象。
希望以上解决方法能够帮助到你解决问题。
上一篇:Android线程不停止