:)所以,我有一个片段,带有listview。 当我点击列表视图中的任何项目(ListView1的标识)时,它会打开一个新的片段,另一个列表查看ListView2的标识。 对于ListView2的每个元素,我必须加载一个不同的列表。
但我不知道该怎么做,我只能加载。
@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container,
Bundle savedInstanceState) {
final View fragment = inflater.inflate(R.layout.fragment_stanze, container, false);
Log.i("STANZEEEEE", "SONO NELLA FRAGMENT STANZE");
listViewStanze = (ListView)fragment.findViewById(R.id.listViewStanze);
listaStanze = Singleton.getInstance().getListaAbitazioni().get(2).getListaCase().get(0).getDettaglio().getListaStanze();
adapterStanze = new AdapterStanze(listaStanze);
listViewStanze.setAdapter(adapterStanze);
return fragment;
}
正如你所知,我将只加载列表:listaStanze,位置0:getListaCase (). get (0) .getDettaglio (). getListaStanze ();
但是我很感兴趣,请放上listview2的每个项目,listaStanze不同。
getListaCase (). Get (1) .getDettaglio (). GetListaStanze ();
getListaCase (). Get (2) .getDettaglio (). GetListaStanze ();
getListaCase (). Get (3) .getDettaglio (). GetListaStanze ();
等
我想这样做,为listaView1的每个元素回收相同的片段,不一定是其他片段。 所以我不浪费资源,而且一切都是动态的
或者我是否被迫为ListView1的每个元素创建更多片段?
谢谢。
答案 0 :(得分:0)
我解决了这个问题。
没有必要以静态方式工作,但我必须动态地完成。
我必须使用Singleton来阻止Get和Set方法,这是我感兴趣的对象。
在这种情况下,对象:案例(意大利语)
要在ListView1中调用 setSelectedCasa 方法, 但是我在ListView2中的片段称为 getSelectedCasa ,如下所示:
片段1,包含ListView1:
listViewCase.setOnItemClickListener(newAdapterView.OnItemClickListener() {
@Override
public void onItemClick(AdapterView<?> parent, View view, int position, long id) {
Singleton.getInstance().setSelectedCasa(listaCase.get(position));
Intent intent0 = new Intent(getActivity(), ActivityStanze.class);
startActivity(intent0);
}});
片段2,包含ListView2
listViewStanze = (ListView)fragment.findViewById(R.id.listViewStanze);
listaStanze = Singleton.getInstance().getSelectedCasa().getDettaglio().getListaStanze();
adapterStanze = new AdapterStanze(listaStanze);
listViewStanze.setAdapter(adapterStanze);
通过这种方式,我可以为listview的每个项目提供相同的视图。 在同一视图中,将根据元素加载不同的数据,在这种情况下,基于ListView1的位置列表,当用户点击时。
我谈到了Fragment,而你看到的代码就是创建了一个Activity。 我使用Activity作为我的框架(如编程Java Desktop),而片段作为Panel。
然后对于每个“视图”,这是我的片段,我将有一个容器(FRAME),这是我的活动。