如何将我的自定义对象传递给片段
How to pass my custom object to fragment
我是初学者 android 关于这个主题有很多问题,但我不太清楚
我想将我的列表传递给在我的自定义列表适配器中必须传递给它的片段
怎么做?
public class MainActivity extends AppCompatActivity {
List<News> newsList;
private void selectItem(int position) {
// update the main content by replacing fragments
if (isOnline()) {
newsList = requestData("http://Mywebsite.com/Ilmnews/api/news/getAllNews");
} else {
Toast.makeText(MainActivity.this, "Network ins't available", Toast.LENGTH_SHORT).show();
}
Fragment fragment = new NewsFragment();
FragmentManager fragmentManager = getFragmentManager();
fragmentManager.beginTransaction().replace(R.id.fragmentholder, fragment).commit();
}
public static class NewsFragment extends Fragment {
public NewsFragment() {
// Empty constructor required for fragment subclasses
}
@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container,
Bundle savedInstanceState) {
View rootView = inflater.inflate(R.layout.fragment_news, container, false);
ListView newsListView = (ListView) rootView.findViewById(R.id.newsListView);
// newsList is List of my News object List<News>
newsListView.setAdapter(new MYListAdapter(getActivity(), newsList));
return rootView;
}
}
}
其他示例仅适用于系统数据类型,不适用于自定义对象
public class MainActivity extends AppCompatActivity {
public static List<News> newsList;
}
并在您的片段中使用如下所示
wsListView.setAdapter(new MYListAdapter(getActivity(), MainActivity.newsList));
我是初学者 android 关于这个主题有很多问题,但我不太清楚
我想将我的列表传递给在我的自定义列表适配器中必须传递给它的片段 怎么做?
public class MainActivity extends AppCompatActivity {
List<News> newsList;
private void selectItem(int position) {
// update the main content by replacing fragments
if (isOnline()) {
newsList = requestData("http://Mywebsite.com/Ilmnews/api/news/getAllNews");
} else {
Toast.makeText(MainActivity.this, "Network ins't available", Toast.LENGTH_SHORT).show();
}
Fragment fragment = new NewsFragment();
FragmentManager fragmentManager = getFragmentManager();
fragmentManager.beginTransaction().replace(R.id.fragmentholder, fragment).commit();
}
public static class NewsFragment extends Fragment {
public NewsFragment() {
// Empty constructor required for fragment subclasses
}
@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container,
Bundle savedInstanceState) {
View rootView = inflater.inflate(R.layout.fragment_news, container, false);
ListView newsListView = (ListView) rootView.findViewById(R.id.newsListView);
// newsList is List of my News object List<News>
newsListView.setAdapter(new MYListAdapter(getActivity(), newsList));
return rootView;
}
}
}
其他示例仅适用于系统数据类型,不适用于自定义对象
public class MainActivity extends AppCompatActivity {
public static List<News> newsList;
}
并在您的片段中使用如下所示
wsListView.setAdapter(new MYListAdapter(getActivity(), MainActivity.newsList));