作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我正在尝试在 games.xml 和 levels.xml 的 2 个 fragment 之间转换就像愤怒的小鸟游戏菜单:游戏:http://i.stack.imgur.com/9S7Ar.png级别:http://i.stack.imgur.com/uB8rP.jpg
游戏.java:
public class Games extends Fragment implements OnClickListener{
public Games(){}
public View onCreateView(LayoutInflater inflater, ViewGroup container,
Bundle savedInstanceState) {
View rootView = inflater.inflate(R.layout.games, container, false);
return rootView;
}
@Override
public void onClick(View v) {
Fragment f = null;
switch (v.getId()) {
case R.id.s4:{
f = new Levels();
break;
default:
break;
}
if (f != null) {
FragmentTransaction transaction = getFragmentManager().beginTransaction();
transaction.replace(R.id.lvl_container, f);
transaction.addToBackStack(null);
transaction.commit();
}
}
level.java:
public class Levels extends Fragment {
public Levels(){}
@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container,
Bundle savedInstanceState) {
View rootView = inflater.inflate(R.layout.levels, container, false);
return rootView;
}
levels.xml:
<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@+id/lvl_container"
android:layout_width="match_parent"
android:layout_height="match_parent" >
<TextView
android:id="@+id/txtLabel"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_centerInParent="true"
android:textSize="16dp"
android:text="@string/s4"/>
<ImageButton android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_below="@id/txtLabel"
android:src="@drawable/lvlgray_1"
android:layout_centerHorizontal="true"
android:layout_marginTop="10dp"/>
游戏.xml
<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent">
<TextView
android:id="@+id/lastgame"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_centerInParent="true"
android:textSize="16dp"
android:text="@string/games"/>
<ImageButton
android:id="@+id/s4"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_below="@id/lastgame"
android:layout_centerHorizontal="true"
android:layout_marginTop="10dp"
android:src="@drawable/s4" />
问题是当我点击 imagebotton 时没有任何反应(应该转到水平),我认为这些行有问题
transaction.replace(R.id.lvl_container, f);
但我不知道它是什么。有任何想法吗?我已经看过这个(developer.android.com/guide/components/fragments)但没有帮助!我错过了什么?还有其他方法可以在 2 个 fragment 之间转换吗? 谢谢
最佳答案
在 Games.java 的 onCreateView 中添加这一行:
ImageButton im = (ImageButton) rootView.findViewById(R.id.s4);
im.setOnClickListener(this);
这会引用您的图像按钮并在其上设置 onClickListener 以调用您的 onClick 方法。
关于android - 在替换过渡中使用 fragment_container,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24349760/
我正在尝试在 games.xml 和 levels.xml 的 2 个 fragment 之间转换就像愤怒的小鸟游戏菜单:游戏:http://i.stack.imgur.com/9S7Ar.png级别
我是一名优秀的程序员,十分优秀!