Android 我可以在片段活动之外替换片段布局吗
我正在使用该应用程序,当我单击菜单按钮“收藏列表打开”时出现问题,但我希望从主要活动访问该应用程序,如图所示:如果您想从列表移动到项目详细信息,可以在适配器中传递数据以供RecyclerView使用Android 我可以在片段活动之外替换片段布局吗,android,android-layout,android-fragments,sharedpreferences,Android,Android Layout,Android Fragments,Sharedpreferences,我正在使用该应用程序,当我单击菜单按钮“收藏列表打开”时出现问题,但我希望从主要活动访问该应用程序,如图所示:如果您想从列表移动到项目详细信息,可以在适配器中传递数据以供RecyclerView使用 @Override public void onBindViewHolder(ListAdapter.MyViewHolder holder, final int position) { holder.itemView.setOnClickListener(new Vi
@Override
public void onBindViewHolder(ListAdapter.MyViewHolder holder, final int position) {
holder.itemView.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
Intent intent = new Intent(context, FavoriteActivity.class);
Bundle bundle = new Bundle();
bundle.putString("yourdata", yourdata);
intent.putExtras(bundle);
context.startActivity(intent);
}
});
}
如果使用ListView,可以尝试
your_listview.setOnItemClickListener { parent, view, position, id ->
Intent intent = new Intent(context, FavoriteActivity.class);
Bundle bundle = new Bundle();
bundle.putString("yourdata", yourdata);
intent.putExtras(bundle);
context.startActivity(intent);
}
在收藏夹活动中
可以通过以下方式设置此数据:
String data=getIntent().getExtras().getString(“您的数据”)代码>
我希望我的理解是正确的。如果您想从列表移动到项目详细信息,可以在适配器中为RecyclerView传递数据
@Override
public void onBindViewHolder(ListAdapter.MyViewHolder holder, final int position) {
holder.itemView.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
Intent intent = new Intent(context, FavoriteActivity.class);
Bundle bundle = new Bundle();
bundle.putString("yourdata", yourdata);
intent.putExtras(bundle);
context.startActivity(intent);
}
});
}
如果使用ListView,可以尝试
your_listview.setOnItemClickListener { parent, view, position, id ->
Intent intent = new Intent(context, FavoriteActivity.class);
Bundle bundle = new Bundle();
bundle.putString("yourdata", yourdata);
intent.putExtras(bundle);
context.startActivity(intent);
}
在收藏夹活动中
可以通过以下方式设置此数据:
String data=getIntent().getExtras().getString(“您的数据”)代码>
我希望我理解正确。在列表项模型中再添加一个变量并使用它。
例如:
boolean isFavorite;
当您创建所有项目时false
,当您单击星号以列出项目时,将项目的标志设置为true
在列表项目模型中再添加一个变量并使用它。
例如:
boolean isFavorite;
当您创建构造函数所有项目时false
,当您单击星号以列出时,将项目的标志设置为true
此代码用于打开favt活动,但此代码与菜单按钮用于同一活动,但我想从主活动中打开favt片段
@Override
public boolean onOptionsItemSelected(MenuItem item) {
switch (item.getItemId()) {
case R.id.menu_favorites:
favListFragment = new FavoriteListFragment();
switchContent(favListFragment, FavoriteListFragment.ARG_ITEM_ID);
return true;
}
return super.onOptionsItemSelected(item);
}
public void switchContent(Fragment fragment, String tag) {
FragmentManager fragmentManager = getSupportFragmentManager();
while (fragmentManager.popBackStackImmediate());
if (fragment != null) {
FragmentTransaction transaction = fragmentManager
.beginTransaction();
transaction.replace(R.id.content_frame, fragment, tag);
//Only FavoriteListFragment is added to the back stack.
if (!(fragment instanceof ProductListFragment)) {
transaction.addToBackStack(tag);
}
transaction.commit();
contentFragment = fragment;
}
}
这段代码我用来打开favt活动,但这与菜单按钮用于相同的活动,但我想从主活动中打开favt片段
@Override
public boolean onOptionsItemSelected(MenuItem item) {
switch (item.getItemId()) {
case R.id.menu_favorites:
favListFragment = new FavoriteListFragment();
switchContent(favListFragment, FavoriteListFragment.ARG_ITEM_ID);
return true;
}
return super.onOptionsItemSelected(item);
}
public void switchContent(Fragment fragment, String tag) {
FragmentManager fragmentManager = getSupportFragmentManager();
while (fragmentManager.popBackStackImmediate());
if (fragment != null) {
FragmentTransaction transaction = fragmentManager
.beginTransaction();
transaction.replace(R.id.content_frame, fragment, tag);
//Only FavoriteListFragment is added to the back stack.
if (!(fragment instanceof ProductListFragment)) {
transaction.addToBackStack(tag);
}
transaction.commit();
contentFragment = fragment;
}
}
你的意思是你想从主列表中打开收藏列表?是的,先生,这是我想要的你的意思是你想从主列表中打开收藏列表?是的,先生,这是我想要的对不起,先生,这不是我的问题。对不起,先生,这不是我的问题。