Articles of android fragments

Android XML切断了下半部分的布局

我的XML布局有问题,我认为这不会给我带来很多问题。 我在滚动视图中有一个布局,但布局的底部被切断 ,我看不到任何超过第二个列表视图的内容。 从环顾四周看,我似乎无法看到xml本身的任何问题,我看不出我做错了什么。 我已经尝试了对问题的建议,即为每个不同的元素添加权重,但这仍然没有解决问题。 我还添加了片段所在的主要活动,可能有助于解决问题 片段XML 主XML

getActivity()。findViewById返回null,从片段onActivityCreated调用

我正在关注有关检索联系人并使用片段显示联系人的联系提供者课程 。 作为参考,我已将API级别设置为16(Android 4.1)。 我大部分时间都遵循了本教程,除了一些值得注意的例外。 例如,我从mypackage.R而不是android.R导入。 我的问题出在我的ListContactsFragment onActivityCreated处理程序中: public void onActivityCreated(Bundle savedInstanceState) { super.onActivityCreated(savedInstanceState); // Initializes the loader getLoaderManager().initLoader(0, null, this); // Gets the ListView from the View list of the parent activity View mContactsListView = getActivity().findViewById(R.layout.contacts_list_view); mContactsList = (ListView) mContactsListView; // Gets a CursorAdapter mCursorAdapter = new SimpleCursorAdapter( getActivity(), R.layout.contacts_list_item, null, FROM_COLUMNS, TO_IDS, 0); […]

片段中的ArrayAdapter – Android

我得到一些错误,我不知道为什么。 我正在使用片段中的字符串填充数组适配器的ListView。 我正在使用此片段作为主屏幕显示在主要活动中这是我的代码 public class HomePage extends Fragment { private ListView lvHomePage; private String[] items; @Override public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) { View view = inflater.inflate(R.layout.fragment_home_page, container, false); items = getActivity().getResources().getStringArray(R.array.test); lvHomePage = (ListView) getActivity().findViewById(R.id.lvHomePage); lvHomePage.setAdapter(new ArrayAdapter(getActivity().getApplicationContext(), android.R.layout.simple_list_item_1 , items)); return view; } } 我收到此输出错误: 09-18 21:07:27.315: E/AndroidRuntime(3839): FATAL EXCEPTION: main 09-18 […]

Fragment中的Android TabLayout

我使用Navigation Drawer在他们都使用MainActivity工具栏的片段之间导航,但每个片段都有自己的TabLayout和3个标签,在每个标签中我使用RecyclerView来显示不同的文本和图像。 我最后一次使用actvities而不是片段,但现在使用抽屉,它更好地使用片段。 我已经到了标签工作的地步但是只要我将ViewPager放入并将适配器连接到选项卡并且我从抽屉打开新片段我得到一个空指针这可能是什么问题? MainActivity.java public class MainActivity extends AppCompatActivity implements NavigationView.OnNavigationItemSelectedListener { @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); Toolbar toolbar = (Toolbar) findViewById(R.id.toolbar); setSupportActionBar(toolbar); DrawerLayout drawer = (DrawerLayout) findViewById(R.id.drawer_layout); ActionBarDrawerToggle toggle = new ActionBarDrawerToggle( this, drawer, toolbar, R.string.navigation_drawer_open, R.string.navigation_drawer_close); drawer.setDrawerListener(toggle); toggle.syncState(); NavigationView navigationView = (NavigationView) findViewById(R.id.nav_view); navigationView.setNavigationItemSelectedListener(this); } @Override public void onBackPressed() […]

Android Fragment选项卡示例

我目前正在研究2.3版本的android,我想将我的应用程序切换到4.0版本但不推荐使用TabActivity 。 所以我一直在寻找FragmentTabs工作示例,但我无法find它。 有人可以帮忙吗?

点击片段会调用它背后的活动

我猜它的东西很简单,也许是listview或片段中的设置。 但是我现在几个小时都找不到它的解决方案。 所以..我有一个像这样的listView 当有人点击列表项时。 我用这样的片段替换它 FragmentManager manager = getSupportFragmentManager(); FragmentTransaction ft = manager.beginTransaction(); ft.replace(R.id.content, newFragment); ft.addToBackStack(null); ft.commit(); 如果我单击列表上的项目,整个列表将替换为由Button和几个文本字段组成的片段(*)。 Fragment使用有关项目的信息正确替换listView。 当我按下它时,它会正确地返回列表视图。 问题是,如果我点击*的背景,它表现得好像我会点击它背后的列表..并将关于该项目的片段带到前面。 我可以在背景上无休止地点击以带来其他片段。 我可以通过点击返回,返回列表来回到列表中。 为什么这个片段是透明的? 我怎样才能解决这个问题?

Fragment中的ViewPager + Adapter => laggy swiping

我有一个带有一些片段的ViewPager 。 每个片段在SlidingDrawer都有一个ListView (在滑动前不可见)和ArrayAdapter 。 适配器设置在onCreateView() ,这会减慢滑动速度,因为每次刷卡都需要加载30个列表项,因为正在创建新的片段。 我的问题是,当ViewPager闲置时,是否可以在刷卡后设置适配器? 或者,还有更好的方法? 展开SlidingDrawer时,需要已加载List。

java.lang.IllegalStateException:已添加片段

我在使用目标SDK 4.3编译和运行的Android应用程序时出现问题。 该应用程序有两个活动,一个MainActivity,也是Launcher活动和SecondActivity。 两者都在使用Fragments。 为了支持旧设备,还使用了支持库。 在下面的场景中,它出现“IllegalStateException:Fragment already added”错误。 1)启动应用程序 – >显示MainActivity 2)用Intent切换到SecondActivity 3)按主页按钮 4)等待更长时间(24小时测试) 5)再次按下应用程序图标 – >例外。 如果时间较短,则SecondActivity显示为预期。 我在Fragment处理过程中读过很多IllegalStateExceptions,但是所有这些都指向了replace()方法的问题。 在Stacktrace中,我自己的代码永远不会被调用。 Fivesment添加在Activies onCreate()方法中: protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(..); ListFragment listFragment = this.getCaptureListFragment(); FragmentTransaction tx = this.getSupportFragmentManager().beginTransaction(); tx.add(R.id.MainFragmentContainer, listFragment, “list_fragment_tag”); tx.commit(); } private ListFragment getListFragment() { ListFragment listFragment = (ListFragment) this.getSupportFragmentManager().findFragmentByTag(“list_fragment_tag”); if (listFragment == null) […]

键盘重叠EditText点击

在我的片段中,我在scrollview中有一个editText,当我点击它时,我将它设置为打开如下: getActivity().getWindow().setSoftInputMode(WindowManager.LayoutParams.SOFT_INPUT_STATE_VISIBLE | WindowManager.LayoutParams.SOFT_INPUT_ADJUST_PAN); 它从第一次打开时工作正常,但当我关闭键盘并再次打开它时,它与editText重叠,如何将editText设置为始终在SOFT_INPUT_ADJUST_PAN模式下打开? XML:

折叠工具栏和片段

我有一个这样的应用程序,mainactivity托管2个标签与附带的碎片,第一个片段有一个有效的回收器视图,我试图添加视差效果,因为人向上或向下滚动,不是确定我是否应该将它添加到片段的xml或mainactivity的xml中,我将它添加到mainactivity的xml并将片段作为我的recyclerview包含,不用说视差不起作用,现在应用程序无法打开,我现在得到一个NullPointerException,但我没有碰到代码。请指出我正确的方向。 XML下面 frag1.xml MainActivity.xml 崩溃日志摘录 07-08 19:43:54.671 2264-2264/com.example.dimple.test E/AndroidRuntime﹕ FATAL EXCEPTION: main Process: com.example.dimple.test, PID: 2264 java.lang.NullPointerException: Attempt to invoke virtual method ‘void android.support.v7.widget.RecyclerView$LayoutManager.onMeasure(android.support.v7.widget.RecyclerView$Recycler, android.support.v7.widget.RecyclerView$State, int, int)’ on a null object reference at android.support.v7.widget.RecyclerView.onMeasure(RecyclerView.java:1764) at android.view.View.measure(View.java:17430) at android.widget.RelativeLayout.measureChildHorizontal(RelativeLayout.java:727) at android.widget.RelativeLayout.onMeasure(RelativeLayout.java:463) at android.view.View.measure(View.java:17430) 完整的日志可以在http://pastebin.com/4cPGTx2zfind