作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我正在使用“Action bar Sherlock”和“SlidingMenu”库。我有一个包含 5 个项目的列表,我想在单击列表中的项目时更改 fragment 。到目前为止,这是我的代码,我正在尝试使用 OnListItemClick 但我真的不知道如何使用它。
public class RandomList extends SherlockListFragment {
String[] list_contents = {"Page 1", "Page 2", "Page 3", "Page 4", "Page 5" };
@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container,
Bundle savedInstanceState) {
// TODO Auto-generated method stub
// return super.onCreateView(inflater, container, savedInstanceState);
return inflater.inflate(R.layout.list, container, false);
}
@Override
public void onActivityCreated(Bundle savedInstanceState) {
// TODO Auto-generated method stub
super.onActivityCreated(savedInstanceState);
setListAdapter(new ArrayAdapter<String>(getActivity(),
android.R.layout.simple_list_item_1, list_contents));
}
@Override
public void onListItemClick(ListView l, View v, int position, long id) {
// TODO Auto-generated method stub
super.onListItemClick(l, v, position, id);
// **Open different fragment after click**
}
}
最佳答案
如果您的 fragments 之一(我们称之为 MyFragment)与 SlidingMenu 中的第一项相关:
public class MyFragment extends Fragment {
public static Fragment newInstance(...) {
MyFragment f = new MyFragment();
// Since fragments require that you have a
// public constructor with zero arguments, then
// we use this pattern to initialize the fragment.
...
return f;
}
...
}
您可以使用 switch 语句:
void callFragmentFromDrawer(int position) {
Fragment f = null;
switch (position) {
case 0:
f = MyFragment.newInstance();
break;
case 1:
...
}
if (f != null) {
getActivity().getSupportFragmentManager()
.beginTransaction()
.replace(R.id.content_frame, f)
.addToBackStack(list_contents[position])
.commit();
}
}
那么,
@Override
public void onListItemClick(ListView l, View v, int position, long id) {
super.onListItemClick(l, v, position, id);
callFragmentFromDrawer(position);
}
关于java - OnListItem点击打开一个新的Fragment,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20895164/
我正在尝试从 Android 连接到本地主机中的 Apache Vysper XMPP 服务器。我正在使用 Smack执行 XMPP 操作的框架: AbstractXMPPConnection con
我不断收到相同的错误消息。起初我认为这是超时问题,所以我设置了 .setPacketReplyTimeout(15000); 仍然只是碰巧等待更长时间然后显示相同的错误消息。在更深入的发现中,我发现这
我正在尝试使用 asmack(Android Gingerbread)连接到 google talk。我已经设置了 connectionConfig.setTruststoreType("BKS")
我正在开发一对一聊天,但我面临服务器需要 SSL/TLS 但在客户端禁用的问题,不知道我做错了什么,请帮我找出错误 我的服务等级: class ChatService:Service() {
我是一名优秀的程序员,十分优秀!