【发布时间】:2014-06-16 12:53:24
【问题描述】:
我正在开发一个大型游戏指南应用程序。该网站的导航是通过导航抽屉进行的,该抽屉上有一个指向 5 个游戏的按钮。每个按钮都会将您带到要招募的角色列表视图。我希望发生的是,当您单击列表项时,它会将您带到显示该角色信息的片段。但是每个游戏都有超过 100 个角色,这可能是个问题。该应用程序的结构如下
MainActivity (Drawer/Activity) > Game1 (ListView/Fragment) > Character Info (Fragment)
角色信息片段尚未创建,因为我不知道该怎么做。我对它进行了很多研究,并且感觉我需要在单击 ListView 项时将 ListView 片段替换为 Character 片段。但是我如何只调用一个片段并将每个字符信息加载到那个片段中。否则我将不得不创建超过 500 个片段……那是不对的。下面是 ListView 片段的代码。
SuikodenFragment(对于游戏 1 - 持有 ListView)
public class SuikodenFragment extends Fragment implements OnItemClickListener {
ListView listView;
ArrayAdapter<Model> adapter;
List<Model> list = new ArrayList<Model>();
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
}
@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container,
Bundle savedInstanceState) {
// Inflate the layout for this fragment
View view = inflater.inflate(R.layout.suikoden_main_activity1, container, false);
listView = (ListView) view.findViewById(R.id.my_list);
adapter = new SuikodenListAdapter(getActivity(),getModel());
listView.setAdapter(adapter);
listView.setOnItemClickListener(this);
return view;
}
@Override
public void onItemClick(AdapterView<?> arg0, View v, int position, long arg3) {
TextView label = (TextView) v.getTag(R.id.label);
CheckBox checkbox = (CheckBox) v.getTag(R.id.check);
Toast.makeText(v.getContext(), label.getText().toString()+" "+isCheckedOrNot(checkbox), Toast.LENGTH_LONG).show();
}
private String isCheckedOrNot(CheckBox checkbox) {
if(checkbox.isChecked())
return "is checked";
else
return "is not checked";
}
private List<Model> getModel() {
list.add(new Model("Tir (Hero)"));
...more characters follow...
}
}
我找到了this,这可能是我需要的。但正如我所说,我看不到如何将字符数据加载到一个片段中。我是初学者,如果我没有意义,我很抱歉,如果需要,我会尝试进一步解释。谢谢!
【问题讨论】:
-
也许您可以使用一个片段来获取字符详细信息,并且只显示取决于字符的文本,不是吗?
-
@NickolaiAstashonok 这就是我的想法,但不知道该怎么做。我还是个初学者,所以考虑这些东西可能会有点混乱
-
这是最好的方法 :) developer.android.com/training/basics/fragments/… 阅读这篇文章以了解如何在片段/活动之间传输数据
-
如果你使用的是Android Studio,那么通过默认模板创建的fragment-activity,遵循同样的模式,
-
@NickolaiAstashonok 谢谢你,我会再看一遍,因为我第一次没有太注意它
标签: android listview android-fragments android-listview