Java 从第二个活动开始第一个活动的第二个选项卡片段
我是android新手,我被困在我正在开发的应用程序的特定部分。问题是-当我在我的SecondActivity中的createEvent按钮上执行onClickListener事件时,我想导航到HomePageActivity的第二个选项卡。我尝试在这里和其他网站上使用不同线程的解决方案,但仍然无法运行代码 我还有HomePageActivity上的RecyclerView,它将根据单击事件填充 以下是两个活动的代码片段- HomePageActivity.java-选项卡式活动Java 从第二个活动开始第一个活动的第二个选项卡片段,java,android,android-fragments,android-recyclerview,fragmentpageradapter,Java,Android,Android Fragments,Android Recyclerview,Fragmentpageradapter,我是android新手,我被困在我正在开发的应用程序的特定部分。问题是-当我在我的SecondActivity中的createEvent按钮上执行onClickListener事件时,我想导航到HomePageActivity的第二个选项卡。我尝试在这里和其他网站上使用不同线程的解决方案,但仍然无法运行代码 我还有HomePageActivity上的RecyclerView,它将根据单击事件填充 以下是两个活动的代码片段- HomePageActivity.java-选项卡式活动 public
public class HomePageActivity extends AppCompatActivity
{
protected void onCreate(Bundle savedInstanceState)
{
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_home_page);
fragmentInfo = getIntent().getExtras();
if (fragmentInfo != null)
{
tabNumber = fragmentInfo.getInt("tabNumber");
}
Toolbar toolbar = (Toolbar) findViewById(R.id.toolbar);
setSupportActionBar(toolbar);
mSectionsPagerAdapter = new SectionsPagerAdapter(getSupportFragmentManager());
mViewPager = (ViewPager) findViewById(R.id.container);
mViewPager.setAdapter(mSectionsPagerAdapter);
TabLayout tabLayout = (TabLayout) findViewById(R.id.tabs);
tabLayout.setupWithViewPager(mViewPager);
}
public class SectionsPagerAdapter extends android.support.v4.app.FragmentPagerAdapter
{
String[] tabList = {"Communities", "Events", "People"};
public SectionsPagerAdapter(android.support.v4.app.FragmentManager fm)
{
super(fm);
}
@Override
public android.support.v4.app.Fragment getItem(int position)
{
return PlaceholderFragment.newInstance(position + 1);
}
@Override
public int getCount()
{
return tabList.length;
}
@Override
public CharSequence getPageTitle(int position)
{
return tabList[position];
}
}
public static class PlaceholderFragment extends android.support.v4.app.Fragment
{
private static final String ARG_SECTION_NUMBER = "section_number";
public static PlaceholderFragment newInstance(int sectionNumber)
{
PlaceholderFragment fragment = new PlaceholderFragment();
Bundle args = new Bundle();
args.putInt(ARG_SECTION_NUMBER, sectionNumber);
fragment.setArguments(args);
return fragment;
}
public PlaceholderFragment()
{
}
@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container,
Bundle savedInstanceState)
{
int viewNumber = getArguments().getInt(ARG_SECTION_NUMBER);
final String[] eventsListArray = {"Event1", "Event2"};
if (viewNumber == 1)
{
View rootView = inflater.inflate(R.layout.fragment_communities, container, false);
TextView textView = (TextView) rootView.findViewById(R.id.communitieslabel);
textView.setText("communities");
return rootView;
}
else if (viewNumber == 2)
{
View rootView = inflater.inflate(R.layout.fragment_events, container, false);
eventsList = (RecyclerView) rootView.findViewById(R.id.recyclerViewEvents);
fab = (FloatingActionButton) rootView.findViewById(R.id.fab);
fab.setOnClickListener(new View.OnClickListener()
{
@Override
public void onClick(View view)
{
Intent intent = new Intent(getActivity().getBaseContext(), CreateEvents.class);
startActivity(intent);
}
});
eventsList.setHasFixedSize(true);
mLayoutManager = new LinearLayoutManager(getActivity());
eventsList.setLayoutManager(mLayoutManager);
eventsListAdapter = new RecyclerEventsAdapter(getActivity(), eventListInfo);
eventsList.setAdapter(eventsListAdapter);
return rootView;
}
else
{
View rootView = inflater.inflate(R.layout.fragment_peopleprofile, container, false);
TextView textView = (TextView) rootView.findViewById(R.id.peoplelabel);
textView.setText("people");
return rootView;
}
}
}
}
以及第二个活动中的代码
buttonCreateEvent.setOnClickListener(new View.OnClickListener()
{
@Override
public void onClick(View v)
{
String[] eventInfo = new String[0];
getEventName = editTextEventName.getText().toString();
getEventDetail = editTextEventDetails.getText().toString();
getEventLocation = editTextEventLocation.getText().toString();
while (!getEventName.equals("") && !getEventDetail.equals("") && !getEventLocation.equals("") && !getEventDate.equals(""))
{
eventInfo = new String[]{getEventName, getEventDetail, getEventLocation, getEventDate};
}
Intent intent = new Intent(CreateEvents.this, HomePageActivity.class);
intent.putExtra("tabNumber", 2);
intent.putExtra("openEventFragment", eventInfo);
startActivity(intent);
}
});
感谢您的帮助。提前谢谢。你可以调用
getActivity().getIntent().getExtras()
来获取你在其他活动中设置的额外设置的包。你可以调用getActivity().getIntent().getExtras()
来获取你在其他活动中设置的额外设置的包。我尝试获取意图,但我关心的主要问题是,如何使用意图信息打开特定片段,即在占位符片段中代码>?我尝试了你的建议,但它使信息显示在所有三个选项卡式片段上,而不是一个,并且它仍然在clickEvent后打开第一个选项卡。我尝试获取意图,但我关心的主要问题是如何使用意图信息打开特定片段,即。,类似于fragment.setArguments(getIntent().getExtras())代码>?我尝试了您的建议,但它使信息显示在所有三个选项卡片段上,而不是一个,并且它仍然在clickEvent之后打开第一个选项卡。