gpt4 book ai didi

android - 单击按钮后如何从第二个 fragment 移动到第一个 fragment ?

转载 作者:行者123 更新时间:2023-11-29 21:10:13 25 4
gpt4 key购买 nike

我创建了一个 View 寻呼机,其中两个 fragment 用于从一个 fragment 移动到第二个 fragment 。在第二个 fragment 页面中,我想要以下内容:当我点击按钮时, fragment 从第二个变为第一个 fragment ;在 View 寻呼机中意味着第二页到第一页。第一个和第二个 fragment 有自己的 XML 文件,查看分页器在主 fragment 的 XML 文件中。

意思是:

  1. class ViewPagerMainActivity extends FragmentActivity 包含包含 ViewPager 的主要 xml 文件
  2. 第一个和第二个 fragment 类扩展 fragment 并有自己的设计 xml 文件

现在我需要从第二个 fragment 移动到第一个 fragment 。我该怎么做?

我的ViewPagerMainActivity如下

 public class CopyOfViewPagerMainActivity extends FragmentActivity implements
OnClickListener, OnPageChangeListener {

Button btnBack, btnNextImage;
LinearLayout llMainPager;
TelephonyManager telemamanger;
TextView txtOpname, txtCharge;
String operatorCodeName;
int level = -1;
double scale;
int rawlevel;
LinearLayout llayoutMainpager;
int image;
ViewPager pager;
Boolean flagzoom, flagscale, flagfade, flagdepth, flagnone, flagpivot,
flag3d;

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


// my other code here

}

private class MyPagerAdapter extends FragmentPagerAdapter {

public MyPagerAdapter(
android.support.v4.app.FragmentManager fragmentManager) {
super(fragmentManager);
}

@Override
public Fragment getItem(int pos) {
switch (pos) {

case 0:
return FirstFragment.newInstance("");

case 1:
return SecondFragment.newInstance("");

default:
return SecondFragment.newInstance("Default");
}
}

@Override
public int getCount() {
return 2; // return no of fragment created by us
}
}

@Override
public void onClick(View v) {

}

@Override
public void onPageScrollStateChanged(int arg0) {
// TODO Auto-generated method stub

}

@Override
public void onPageScrolled(int arg0, float arg1, int arg2) {
// TODO Auto-generated method stub

}

@Override
public void onPageSelected(int arg0) {
// TODO Auto-generated method stub

}
}

我的第一个 fragment 如下

public class CopyOfFirstFragment extends Fragment implements OnTouchListener ,OnPageChangeListener{

String permanentval = "";
LinearLayout llayoutslide;
LinearLayout llayoutpassword;
int image;
TextView txtTime, txtDay, txtmissedCall, txtChargePercent,txtSMS;
ImageView imgCharge;
int charge;
Boolean flagAnimzoom;
ViewPager pchange;


@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container,
Bundle savedInstanceState) {
View v = inflater
.inflate(R.layout.sliding_lock_pager, container, false);

// my all code here
return v;
}

public static CopyOfFirstFragment newInstance(String text) {

CopyOfFirstFragment f = new CopyOfFirstFragment();
Bundle b = new Bundle();
b.putString("msg", text);
f.setArguments(b);

return f;
}

@Override
public boolean onTouch(View v, MotionEvent event) {
return false;
}

@Override
public void onPageScrollStateChanged(int arg0) {
// TODO Auto-generated method stub

}

@Override
public void onPageScrolled(int arg0, float arg1, int arg2) {
// TODO Auto-generated method stub

}

@Override
public void onPageSelected(int arg0) {
// TODO Auto-generated method stub

}


}

我的第二个 fragment

public class CopyOfSecondFragment extends Fragment implements OnClickListener {

LinearLayout llayoutPasswordEnter,llayoutPasswordConfirm,llayoutPasswordPager;
Button btnNext, btnOne, btnTwo, btnThree, btnFour, btnFive, btnSix,
btnSeven, btnEight, btnNine, btnZero;
TextView txtClear, txtDone;
String store = "";
int one = 0, two = 0;
String permanentval = "";
RelativeLayout rlayoutPasswordEnter;
int image;
private Vibrator vibrator;
Boolean getflagvibrate=false, getflagSounds=false;
MediaPlayer mp;

@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container,
Bundle savedInstanceState) {
View v = inflater.inflate(R.layout.password, container,
false);

// all code here
txtDone.setOnClickListener(new OnClickListener() {

@Override
public void onClick(View v) {

// in this button i want to move from this fragment to first means i want to display firt xml file instead of this second one <----- here want to move
}
});

return v;
}
public void setButtonSize(Button btn) {
int width = Constant.getDeviceWidth(getActivity()) / 5;
LayoutParams params = new LayoutParams(width, width);
params.leftMargin = 8;
params.rightMargin = 8;
btn.setLayoutParams(params);
}

public static CopyOfSecondFragment newInstance(String text) {

CopyOfSecondFragment f = new CopyOfSecondFragment();
Bundle b = new Bundle();
b.putString("msg", text);
f.setArguments(b);
return f;
}

@Override
public void onClick(View v) {
// TODO Auto-generated method stub

}

}

最佳答案

我找到我的解决方案:在我的点击中使用以下

      final FragmentTransaction ft = getFragmentManager().beginTransaction(); 
ft.replace(R.id.details, new NewFragmentToReplace, "NewFragmentTag");
ft.commit();

关于android - 单击按钮后如何从第二个 fragment 移动到第一个 fragment ?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23153038/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com