Articles of android fragments

使用android.support.v7.widget.SearchView时获取类转换exception

我正在使用菜单在操作栏上显示“搜索”图标。 我已经创建了搜索视图 itemSearch = menu.findItem(R.id.action_search_chat_home_container); searchView = (SearchView) MenuItemCompat.getActionView(itemSearch); 我使用android-support-v7-appcompat作为库项目。 菜单的XML … 我收到以下错误 *03-18 12:19:46.965 E/com.abc.contactbook.RTContactBookActivity<======(14993): java.lang.ClassCastException: android.support.v7.internal.view.menu.MenuItemWrapperICS$CollapsibleActionViewWrapper cannot be cast to android.support.v7.widget.SearchView 03-18 12:19:46.965 E/com.abc.contactbook.RTContactBookActivity<======(14993): at com.abc.contactbook.RTContactBookActivity.onCreateOptionsMenu(RTContactBookActivity.java:874) 03-18 12:19:46.965 E/com.abc.contactbook.RTContactBookActivity<======(14993): at android.support.v4.app.Fragment.performCreateOptionsMenu(Fragment.java:1560) 03-18 12:19:46.965 E/com.abc.contactbook.RTContactBookActivity<======(14993): at android.support.v4.app.FragmentManagerImpl.dispatchCreateOptionsMenu(FragmentManager.java:1949) 03-18 12:19:46.965 E/com.abc.contactbook.RTContactBookActivity<======(14993): at android.support.v4.app.Fragment.performCreateOptionsMenu(Fragment.java:1563) 03-18 12:19:46.965 E/com.rancore.contactbook.RTContactBookActivity<======(14993): at android.support.v4.app.FragmentManagerImpl.dispatchCreateOptionsMenu(FragmentManager.java:1949) 03-18 12:19:46.965 E/com.abc.contactbook.RTContactBookActivity<======(14993): at android.support.v4.app.FragmentActivity.onCreatePanelMenu(FragmentActivity.java:225) 03-18 12:19:46.965 […]

我怎样才能设计出像“家谱”一样的用户界面?

我想创建一个动态交互式树结构,如图所示? 所有我发现它可以使用片段完成,有人可以告诉我如何使用片段实现他们的链接的前两个节点? rest我会尝试自己,然后上传答案。

如何在animation时显示退出片段上方的输入片段。

我想要实现的效果是将输入(新)片段覆盖在退出(旧)片段之上,但是当我用新片段替换旧片段时,旧片段就会消失,新片段向上滑动容器,这是可见的(容器)。 我不想为旧片段设置animation,只是保留旧片段,当它可见时,将新片段向上滑动。 以下是我的代码: // First time adding fragment ie “oldFragemnt” FragmentTransaction ft = getSupportFragmentManager().beginTransaction(); ft.replace(R.id.content_frame, oldFragment, “oldFragemnt”); ft.addToBackStack(null); ft.commit(); // while adding “newFragemnt” FragmentTransaction ft = getSupportFragmentManager().beginTransaction(); ft.setCustomAnimations(R.anim.new_slide_in_up,0,0,R.anim.new_slide_out_down); ft.replace(R.id.content_frame, newFragment, “newFragemnt”); ft.addToBackStack(null); ft.commit(); 指导我出错的地方。 当新片段向上滑动时,我的旧片段正在消失。

Zxing条码扫描器片段在几分钟后崩溃

我在github上使用zxingfragmentlib的简单条形码扫描器片段。 它运作良好。 但是当我以扫描模式离开设备时,它会在3或4分钟后崩溃。 我在logcat中看到的唯一(红色)东西是: 10-14 14:37:42.914: E/dalvikvm(11025): Unexpected opcode(263) with kInstrCanBranch set 10-14 14:37:42.914: E/dalvikvm(11025): VM aborting 10-14 14:37:42.914: A/libc(11025): Fatal signal 6 (SIGABRT) at 0x00002b11 (code=-6), thread 11033 (Compiler) 有什么问题,我该如何解决? 提前致谢!

如何为ORMLite使用LoaderManager.LoaderCallbacks和CursorLoader?

最近我开始在我的应用程序中使用ORMLite 。 之前我曾经使用’ContentProvider’并实现LoaderManager.LoaderCallbacks 。 我会创建CursorLoader并在有数据时向用户显示列表。 如何使用ORMLite管理该循环? 我想创建Cursor并在Cursor准备好时收到通知。 谢谢

通过资产字体更改PreferenceFragment字体

为了在PreferenceFragment中为每个Preference设置自定义字体,我必须为每个首选项types( CustomSwitchPreference , CustomEditTextPreference , CustomListPreference ,….)编写一个新的自定义类,并在onBindView方法中设置其字体。 它有效,但这是最好的解决方案吗? 不短吗? @Override public void onBindView(View view){ super.onBindView(view); TextView title = (TextView) view.findViewById(android.R.id.title); TextView summary = (TextView) view.findViewById(android.R.id.summary); Utils.setFont(context, title, customfont); Utils.setFont(context, summary, customfont); } public class Utils{ public static boolean setFont(Context context, TextView tv, String fontAssetName) { Typeface font = Typeface.createFromAsset(context.getResources().getAssets(), fontAssetName); if (font != null) { […]

添加新片段后,Android会滚动到底部

我有一个带有LinearLayout的应用程序,从上到下,随着时间的推移,矩形片段会在下面添加。 在某些时候屏幕已满,新片段被“隐藏”在屏幕视图之外。 我想要做的是每次添加新片段时使应用程序滚动到底部。 每次按下活动中的按钮或检查上述片段中的checkbox时,都会添加一个片段。 所以我在onClickListeners和片段的onCreateView上尝试了以下内容: fm.beginTransaction().add(R.id.activity_uhf_layout, fragment).commit(); //Adding fragment runOnUiThread(new Runnable() { @Override public void run() { scrollView.scrollTo(0, scrollView.getBottom()); }}); 这有时会起作用,片段会被添加并且屏幕会向下滚动,但它会像1/8倍一样。 我尝试过其他的东西,比如: scrollView.post(new Runnable() { @Override public void run() { scrollView.scrollTo(0, scrollView.getBottom()); } }); 这基本上给出了相同的结果,我试过没有Runnablepost,这根本不起作用。 我得到的结果是布局只向下滚动到已经存在的片段的底部,而不是一直到片段管理器刚刚添加的新片段的末尾。 对我来说似乎即使添加了片段,LayoutManager也没有真正“检测到它”或类似的东西,但是如何绕过它,我不是很确定。

更新片段内的ImageView位图

我的部分应用程序使用带有三个片段的ViewPager作为创建事件的“向导”。 第一个片段包含ImageView中的默认照片和启动AlertDialog的按钮,允许用户拍摄新照片或使用现有照片与事件相关联。 一旦用户选择了照片,我希望它能够替换默认图像。 fireImageDialog按预期从Intent.ACTION_PICK或MediaStore.ACTION_IMAGE_CAPTURE接收所选图像的路径,也就是说,我已确认返回的路径是图像的有效路径。 在我的onActivityResult方法的最后,我检索包含上面代码的Fragment并调用一个方法来设置ImageView的位图。 @Override protected void onActivityResult(int requestCode, int resultCode, Intent data) { if (requestCode == LOAD_CRAWL_IMAGE) { if (resultCode == RESULT_OK) { // Some code here to handle the two potential sources of the path // sets `selectedImagePath` ((NewCrawlBasicDetailsFragment) getSupportFragmentManager().findFragmentById(R.id.newCrawlBasicDetails)).UpdateImage(selectedImagePath); } else if (resultCode != RESULT_CANCELED) { Toast.makeText(this, “Failed to load image”, […]

片段替换animation问题

我在我的应用程序中使用片段,并尝试实现片段替换的酷animation。 我使用这种方法来实现事务animation。 private void setFragmentChangingAnimation(FragmentTransaction ft, int previousFragmentId, int nextFragmentId){ Log.e(TAG, “Previous = ” + previousFragmentId + ” Next = ” + nextFragmentId); if(previousFragmentId == FragmentOptions.ID_SELECT_RESTAURANT_FRAGMENT && nextFragmentId == FragmentOptions.ID_RESTAURANT_MAIN_MENU_FRAGMENT){ ft.setCustomAnimations(R.anim.enter_from_right, R.anim.hold_on_place); } } hold_on_place.xmlanimation enter_from_right.xml 我想实现流动animation:替换先前片段的片段,从右角进入并流向左角。 animation过程完美,但是,这个片段在背景中从右到左流动,在前面的片段和animation之后被替换的这个片段带到了容器的前面。 如何将我想要替换的片段放在前面?

在片段或活动中使用工具栏

我正在使用Android-ObservableScrollView库。 一切都很好,但我有保存片段的活动,所以所有视图都封装在片段中。 在活动中,只有FrameLayout用于保存片段。 所以我需要在我的应用程序中使用Toolbar ,我有几个想法如何实现它。 在活动中使用工具栏,在这种情况下,我的布局将具有FrameLayout和工具栏。 通过这种方式,每当我需要对工具栏执行某些操作时,我都会与活动进行通信,我也可以通过使用片段中的getSupportedActionBar()来获取它。 在每个片段视图创建中使用工具栏内部片段(在其布局中)设置。 每次我更改片段时,我都必须在活动中添加新的工具栏。 在某些片段中,我将使用不同的工具栏,但不是全部。 是否在片段中存储工具栏是一种很好的方法。 我在使用第二种方法时可以看到的问题,如果屏幕上会有多个片段,那么还会有几个工具栏。 请在这种情况下建议正确的方法。 谢谢。