gpt4 book ai didi

java - 单击按钮滑动到下一个 fragment

转载 作者:搜寻专家 更新时间:2023-10-30 20:57:59 24 4
gpt4 key购买 nike

这是我的代码:

FirstView.java

import android.content.Intent;
import android.os.Bundle;
import android.support.v4.app.Fragment;
import android.view.LayoutInflater;
import android.view.View;
import android.view.View.OnClickListener;
import android.view.ViewGroup;
import android.widget.Button;
import android.widget.TextView;

public class FirstView extends Fragment
{
private TextView firstText;
private Button btn;

public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState)
{


View view = inflater.inflate(R.layout.fragment_view1,container,false);


firstText = (TextView)view.findViewById(R.id.viewOneText);
btn = (Button)view.findViewById(R.id.viewOneBtn);

btn.setOnClickListener(new ButtonEvent());
return view;

}

private class ButtonEvent implements OnClickListener
{

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

}

}
}

SecondView.java

import android.os.Bundle;
import android.support.v4.app.Fragment;
import android.view.LayoutInflater;
import android.view.View;
import android.view.View.OnClickListener;
import android.view.ViewGroup;
import android.widget.Button;
import android.widget.TextView;

public class SecondView extends Fragment
{
private TextView secondText;
private Button secondViewBtn;

public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState)
{


View view = inflater.inflate(R.layout.fragment_view2,container,false);


secondText = (TextView)view.findViewById(R.id.secondViewText);
secondViewBtn = (Button)view.findViewById(R.id.secondViewBtn);

secondViewBtn.setOnClickListener(new ButtonEvent());
return view;

}

private class ButtonEvent implements OnClickListener
{

@Override
public void onClick(View v) {
// TODO Auto-generated method stub
secondText.setText("Second View Text changed");

}

}
}

MainActivity.java

import android.os.Bundle;
import android.app.Activity;
import android.support.v4.app.Fragment;
import android.support.v4.app.FragmentActivity;
import android.support.v4.app.FragmentManager;
import android.support.v4.app.FragmentPagerAdapter;
import android.support.v4.view.PagerAdapter;
import android.support.v4.view.ViewPager;
import android.view.Menu;

public class MainActivity extends FragmentActivity {

private ViewPager viewPager;
private MyAdapter pageAdapter;
private static final int ITEMS = 2;

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

viewPager = (ViewPager)findViewById(R.id.pager);
pageAdapter = new MyAdapter(getSupportFragmentManager());
viewPager.setAdapter(pageAdapter);

}

@Override
public boolean onCreateOptionsMenu(Menu menu) {
// Inflate the menu; this adds items to the action bar if it is present.
getMenuInflater().inflate(R.menu.main, menu);
return true;
}

public static class MyAdapter extends FragmentPagerAdapter {


public MyAdapter(FragmentManager fragmentManager) {
super(fragmentManager);
}

@Override
public int getCount() {
return ITEMS;
}

@Override
public Fragment getItem(int position) {
if(position==0)
{
return new FirstView();
}
else
{
return new SecondView();
}
}
}

}

在这段代码中,当我点击 FirstView 中的 Button 时,我需要移动到 SecondView。我尝试使用 Intents 但我猜这是错误的。由于 ViewPager,目前它具有滑动功能,我需要它在单击按钮时移动到 SecondView,具有相同的滑动功能。

最佳答案

只需添加一个将 fragment 移动到您的 Activity 的新方法:

public void setCurrentItem (int item, boolean smoothScroll) {
viewPager.setCurrentItem(item, smoothScroll);
}

并从按钮监听器中调用它:

((MainActivity)getActivity()).setCurrentItem (1, true);

关于java - 单击按钮滑动到下一个 fragment ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20264586/

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