Tag: android fragments

片段中的RecyclerView – 没有连接适配器,跳过布局

我有一个奇怪的情况,我有一个托管TabLayout/Viewpager的Activity ,它根据对Firebase数据库的更改来填充数据。 不幸的是, RecyclerView没有被填充,我在logcat中收到以下错误。 我相信即使片段不在屏幕上也会加载片段,这会导致RecyclerView的填充错误。 当旋转屏幕时, RecyclerView会填充,这也很奇怪: 12-13 21:31:40.013 12490-12490/com.troychuinard.fanpolls E/RecyclerView: No adapter attached; skipping layout 这是我在主机Activity的ViewPager适配器: public class SectionPagerAdapter extends FragmentPagerAdapter { public SectionPagerAdapter(FragmentManager fm) { super(fm); } @Override public Fragment getItem(int position) { switch (position) { case 0: return new TrendingFragment(); case 1: return new FollowingFragment(); case 2: return new LiveFragment(); default: return […]

如何在recyclerView android中停止项目重复

实际上我的问题是当我点击它去一个DetailsFragment的项目。 但是当我返回到我的ItemListFragment时,项目编号会增加并且会发生重复。 请帮我恢复..先谢谢…. ItemListFragment public class ItemsListFragment extends Fragment { public static final String SINGLE_ITEMS = “single_items”; String[] mNames; String[] mPrices; int[] mImages; Context mContext; ArrayList mArrayList = new ArrayList(); @Override public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) { View view = inflater.inflate(R.layout.fragment_items_list, container, false); RecyclerView recyclerView = (RecyclerView) view.findViewById(R.id.items_list_recycler); String allFields = getArguments().getString(CategoryFragment.ALL_FIELD); […]

为什么android studio显示“在constraintlayout中缺少约束”的错误?

图片 此视图不受约束,它只有设计时间位置,因此除非添加约束,否则它将跳转到(0,0) 布局编辑器允许您将小部件放在canvas上的任何位置,并使用设计时属性(例如layout_editor_absolute X)记录当前位置。这些属性不会在运行时应用,因此如果您在设备上推送布局,窗口小部件可能出现在与编辑器中显示的位置不同的位置。 要解决此问题,请通过从边连接拖动来确保窗口小部件具有水平和垂直约束

如何将数据从Recyclerview传递到Fragment

我有一个填充在Fragment中的recyclelerView,我想启动一个新的Fragment并从适配器传递数据,我尝试使用Bundles但它总是给我的适配器类的null值 public class RecyclerAdapter extends RecyclerView.Adapter { private LayoutInflater inflater; private List mList; private FragmentCommunication mCommunicator; public RecyclerAdapter(Context context, List list,FragmentCommunication communication) { inflater = LayoutInflater.from(context); mList = list; mCommunicator=communication; } @Override public MyViewHolder onCreateViewHolder(ViewGroup parent, int viewType) { View view = inflater.inflate(R.layout.single_row, parent, false); MyViewHolder holder = new MyViewHolder(view,mCommunicator); return holder; } @Override public […]

与碎片不兼容的类型错误

我正在尝试在我的主要活动中添加一个片段。 当我输入fragment = new CrimeFragment(); 我得到一个Incompatible types错误。 我尝试了new CrimeFragment(); 到Fragment ,但这不起作用。 package com.adamanteusstudios.officesmostwanted; import android.os.Bundle; import android.support.v4.app.Fragment; import android.support.v4.app.FragmentActivity; import android.support.v4.app.FragmentManager; public class MostWantedActivity extends FragmentActivity { @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_most_wanted); //getting fragmentManager FragmentManager fm = getSupportFragmentManager(); Fragment fragment = fm.findFragmentById(R.id.fragmentContainer); if(fragment == null){ ***fragment = new OffenseFragment();*** fm.beginTransaction().add(R.id.fragmentContainer, fragment).commit(); } […]

Android如何从我的主要活动中调用片段

我对android开发很新。 在我的情况下,我有一个主要活动和一个片段创建。主要活动为两个按钮。 当我点击按钮时,我的片段应该加载。我可以实现吗? 主动.XML 主要活动.java package com.bentgeorge.fragment; import android.support.v7.app.AppCompatActivity; import android.os.Bundle; import android.view.View; import android.widget.Button; public class MainActivity extends AppCompatActivity implements View.OnClickListener{ private Button fragment_btn_1; private Button fragment_btn_2; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); fragment_btn_1 = (Button) findViewById(R.id.fragment_button_1); fragment_btn_2 = (Button) findViewById(R.id.fragment_button_2); } @Override public void onClick(View v) { Fragment1 frag = new […]

为什么在Activity中访问Fragment的TextView会抛出错误

MainActivity类: /* all necessary imports */ public class MainActivity extends AppCompatActivity implements NavigationView.OnNavigationItemSelectedListener { /* Other variable initialized here… */ FragOne fo; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); Toolbar toolbar = (Toolbar) findViewById(R.id.toolbar); setSupportActionBar(toolbar); fo.setTextViewText(“This is added from Activity”); DrawerLayout drawer = (DrawerLayout) findViewById(R.id.drawer_layout); ActionBarDrawerToggle toggle = new ActionBarDrawerToggle( this, drawer, toolbar, R.string.navigation_drawer_open, […]

刷新ViewPager Fragment中的数据

这是我的情景: 我的Activity中有ViewPager ,它包含6个片段。 我通过用手指轻扫来禁用分页,所以每当我想要滑动时我都使用相关按钮并且: viewPager.setCurrentItem(viewPager.getCurrentItem() + 1, true); 在每个刷过的片段中(刷卡完成后)我想向我的服务器发送一个GET请求并获取一些数据并在该片段中显示它。 这样做: 第一种方法 :我在片段中使用此代码,片段一旦可见就会运行: @Override public void setUserVisibleHint(boolean isVisibleToUser) { super.setUserVisibleHint(isVisibleToUser); if(isVisibleToUser) { sendGetRequest(); } } 但是,这是一个问题: setUserVisibleHint正好在片段可见的情况下执行,因此滑动的动画带来了一些滞后(它不够平滑)。 所以我使用了Second Approach :我在托管活动中向ViewPager添加了一个OnPageChangeListener() ,如下所示: viewPager.addOnPageChangeListener(new ViewPager.OnPageChangeListener() { int CurrentPossition = 0; @Override public void onPageScrolled(int position, float positionOffset, int positionOffsetPixels) { } @Override public void onPageSelected(int position) { CurrentPossition […]