我有一个活动和一个片段。我在OnCreate
活动方法中读取了从xml到ArrayList的一些数据。然后我创建了一个从FragmentPagerAdapter
扩展的类。
public class DemoCollectionPagerAdapter extends FragmentPagerAdapter {
public DemoCollectionPagerAdapter(FragmentManager fm) {
super(fm);
}
@Override
public Fragment getItem(int i) {
Fragment fragment = null;
for (int j = 0; j < lstDepartmanlar.size();j++)
{
if(i==j) {
for (Departman departman : lstDepartmanlar)
{
if(departman.DepartmanEkrani.contentEquals(masaPlanIsmi[i]))
{
masaIsimleri = new ArrayList<String>();
for (MasaDizayn masaDizayn : lstMasaDizayn) {
if(masaDizayn.MasaPlanAdi.contentEquals(departman.DepartmanEkrani)) {
masaIsimleri.add(masaDizayn.MasaAdi);
}
}
}
}
fragment = newInstance(masaIsimleri,acikMasalar);
}
}
return fragment;
}
public static FragmentMasaDesing newInstance(ArrayList<String> masalar,String[] acikMasalar) {
FragmentMasaDesing myFragment = new FragmentMasaDesing();
Bundle args = new Bundle();
args.putStringArray("acikMasalar",acikMasalar);
args.putStringArrayList("masalar", masalar);
myFragment.setArguments(args);
return myFragment;
}
这是我的FragmentPagerAdapter和newInstance方法。
此外,我还会根据Actionbar
的大小添加lstDepartments
个标签。
在newInstance方法中,我在创建片段时放入一个列表和一个字符串数组来发送它们。它在第一次运行时工作正常。如果lstDepartmanlar.size()
为3,我会根据列表中的数据创建三个布局。当我在选项卡之间滑动时,将调用所请求的布局,并在创建后显示没有问题。
每个布局都有多个按钮,我想根据来自tcp到我的活动的数据更改一些按钮的颜色。当我滑动选项卡时,我正在向服务器发送消息并从另一个线程中的服务器接收传入消息,但我不会将这些数据传输到片段以更改按钮颜色。
如何将传入的tcp数据传输到片段并更改按钮颜色?