小编Arl*_*ant的帖子

以编程方式添加多个片段

我正在使用Fragment事务向活动添加两个片段.但是,当应用程序启动时,只会显示第一个片段.这是代码:

主要活动

    @Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_main);

    FragOne firstButton = new FragOne();
    FragmentTwo secButton = new FragmentTwo();

    FragmentTransaction transaction = getSupportFragmentManager().beginTransaction();

    transaction.add(R.id.frag_container, firstButton);
    transaction.add(R.id.frag_container, secButton);

    transaction.commit();
}
Run Code Online (Sandbox Code Playgroud)

activity_main.xml中

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="fill_parent"
    android:id="@+id/frag_container"
    android:layout_height="fill_parent" 
    android:orientation="horizontal">

</LinearLayout>
Run Code Online (Sandbox Code Playgroud)

frag_one.xml和frag_two.xml类似

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:orientation="vertical" >
   <Button
    android:id="@+id/button1"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:text="Button One" />
</LinearLayout>
Run Code Online (Sandbox Code Playgroud)

所以我不确定会出现什么问题......我看到很多例子都添加了一个片段.

android android-layout

8
推荐指数
1
解决办法
6666
查看次数

活动生命周期的奇怪行为 - 在onResume()之后也onPause()调用...为什么?

我有一个带有edittexts的表单和一个用于调用相机的按钮(返回一个放入imageview的位图)...从纵向模式我输入所有的edittext字段,然后单击相机按钮将我转发到相机 - 在相机中我拍照后我将返回到活动1(保持纵向 - 并且所有editext字段都恢复onRestoreInstanceState()) - 并且活动1的最后一个回调方法是onResume()(什么是好的) - 但是问题当我从这个肖像到横向模式进行方向更改时 - 回调方法如下

DSFA

所以最后的回调方向改变是onPause().我不懂为什么?问题是onSaveInstanceState在onPause之前调用 - 所以当我回到纵向模式时,所有内容都将为空(editexts,imageview ..) - 这种奇怪的行为会在每次方向更改时继续(最后调用onPause()).

我确定这个问题必须与拍摄图像(startInentforResult ....)有关,因为所有(editext字段)在拍摄图像之前在方向更改上工作正常...有时我也可以拍摄图像并且它可以正常工作很好,但在大多数情况下不...

所以我的问题是什么是"驱动"我的活动直到onPause()方法而不是onResume()

谢谢,我真的很感激,如果有人知道解决方案,因为我已经困难了几天,无法找到解决方案.

该项目有很多类,但这是活动代码(需要注意的是,只有当我从相机应用程序中获取图像时才会出现问题,之后活动生命周期变得疯狂 - 此活动也是通过'startIntentforResult从主活动中调用的()'.我不使用'android:configChanges ="orientation | keyboardHidden"'来停止recreatioin):

public class NewCounterActivity extends Activity {

Button btnCreate;
Button btnCancel;
Button btnTakeImg;
ImageView counterImgView;
CheckBox existsDamage;

EditText inputNameFirst;
EditText inputNameLast;
EditText inputAdresse;
EditText inputCounterID;
EditText inputCounterValue;
EditText inputDescription;
TextView registerErrorMsg;

DatabaseHandler db;

//Data to be submitted
String nameFirst;
String nameLast;
String adresse;
String …
Run Code Online (Sandbox Code Playgroud)

android android-lifecycle

6
推荐指数
1
解决办法
2048
查看次数