Fragment界面跳转

1130396-20170418154418821-754556946.jpg

这个Fragment界面跳转我觉得是比较难的,因为班上好多人都没有做好,我也不太会做,参考了做好了的同学的作业,马马虎虎做好了。
这是主界面xml的代码:
<?xml version="1.0" encoding="utf-8"?>

<LinearLayout
    android:id="@+id/show"
    android:layout_width="match_parent"
    android:layout_height="0dp"
    android:orientation="vertical"
    android:layout_weight="1">

</LinearLayout>

<LinearLayout
    android:orientation="vertical"
    android:layout_width="match_parent"
    android:layout_height="0dp"
    android:layout_weight="1">

    <Button
        android:id="@+id/bt_show"
        android:layout_width="250dp"
        android:layout_height="wrap_content"
        android:text="下一个界面"
        android:layout_gravity="center_horizontal"
        android:gravity="center"
        android:onClick="onClick"
        />
</LinearLayout>


运行的结果:
1130396-20170418162356837-1330200608.png

JAVA代码:
package com.example.jkq.myapplication;

import android.app.FragmentManager;
import android.app.FragmentTransaction;
import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
import android.view.KeyEvent;
import android.view.View;
import android.widget.Toast;

public class MainActivity extends AppCompatActivity implements View.OnClickListener{
Jkq1Fragment jkq1Fragment;
Jkq2Fragment jkq2Fragment;
private boolean a=true;
boolean e=false;

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

    FragmentManager manager = getFragmentManager();
    FragmentTransaction transaction = manager.beginTransaction();
    jkq1Fragment = new Jkq1Fragment();
    transaction.add(R.id.show,jkq1Fragment);
    transaction.commit();
}

@Override
public void onClick(View view) {
    if(view.getId()==R.id.bt_show){
        e=true;
        if(a){
            FragmentManager manager = getFragmentManager();
            FragmentTransaction transaction = manager.beginTransaction();
            if (jkq2Fragment == null){
                jkq2Fragment = new Jkq2Fragment();
                transaction.replace(R.id.show,jkq2Fragment);
                transaction.commit();
                a=false;
            } else{
                transaction.replace(R.id.show,jkq2Fragment);
                transaction.commit();
                a=false;
            }
        }else{
            Toast.makeText(this,"This is second fragment",Toast.LENGTH_SHORT).show();
        }
    }
}

@Override
public boolean onKeyDown(int keyCode, KeyEvent event) {
    if(event.getKeyCode()==KeyEvent.KEYCODE_BACK&&e){
        FragmentManager manager = getFragmentManager();
        FragmentTransaction transaction = manager.beginTransaction();
        a=true;
        e=false;
        transaction.replace(R.id.show,jkq1Fragment);
        transaction.commit();
        return  false;
    } else {
        finish();
    }
    return super.onKeyDown(keyCode, event);
}

以及Fragment的相关代码:
(1)

<!-- TODO: Update blank fragment layout -->
<TextView
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:background="#eaa"/>


(2)

<!-- TODO: Update blank fragment layout -->
<TextView
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:text="@string/hello_blank_fragment" />


(1.1)java
package com.example.jkq.myapplication;

import android.app.Fragment;
import android.os.Bundle;

import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;

/**

  • A simple {@link Fragment} subclass.
    */
    public class Jkq2Fragment extends Fragment {

    public Jkq2Fragment() {
    // Required empty public constructor
    }

    @Override
    public View onCreateView(LayoutInflater inflater, ViewGroup container,
    Bundle savedInstanceState) {
    // Inflate the layout for this fragment
    return inflater.inflate(R.layout.fragment_jkq2, container, false);
    }

}
(2.2)java:
package com.example.jkq.myapplication;

import android.app.Fragment;
import android.os.Bundle;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;

/**

  • A simple {@link Fragment} subclass.
    */
    public class Jkq1Fragment extends Fragment {

    public Jkq1Fragment() {
    // Required empty public constructor
    }

    @Override
    public View onCreateView(LayoutInflater inflater, ViewGroup container,
    Bundle savedInstanceState) {
    // Inflate the layout for this fragment
    return inflater.inflate(R.layout.fragment_jkq1, container, false);
    }

}
运行的结果:
1130396-20170418162816118-327674812.png

1130396-20170418162825118-475731835.png

真的不会做啊 感觉跟不上

转载于:https://www.cnblogs.com/smallsunJKQ/p/6728478.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值