Articles of 片段

使用片段从图库中select图像

我正在尝试使用从fragmentactivity调用的片段从图库中获取图像,但片段类的onActivityResult未被调用。 我发现这可能是由于FragmentActivity类的onActivityResult发生的,但是当我检查两个类的日志时,非不被调用,因此我无法从库中访问选定的图像。 我已经尝试了大部分的解决scheme,但仍然无法弄清楚这个问题。 我的主要片段活动 public class CreateEvent extends FragmentActivity{ private int CREATE =0; private int INVITE = 1; private int FRAGMENT_COUNT = INVITE +1; private Fragment[] fragment = new Fragment[FRAGMENT_COUNT]; private boolean isResumed = false; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); FragmentManager fm = getSupportFragmentManager(); fragment[CREATE] = fm.findFragmentById(R.id.create); fragment[INVITE] = fm.findFragmentById(R.id.invite); FragmentTransaction transaction = […]

ReyclerView中的YouTubePlayerFragment

里面有一个带有CardView的RecyclerView。 我希望每个CardView都有自己的YouTubePlayerFragment。 即使他们不能立刻全部活跃起来,我似乎甚至不能在任何CardView中实例化YouTubePlayerFragment,而是在RecyclerView中实例化第一个。 当点击应该设置YouTubePlayerFragment的卡片上的button时,即使我点击了第二张卡片,它也会将其设置在第一张卡片上。 我正在尝试做什么? 以下是代码的相关部分: CardView XML中片段的持有者:(直接在xml中使用片段会产生二进制XMLexception,可能是由于片段内某个片段内的片段) <FrameLayout android:id="@+id/youtube_holder" android:layout_width="match_parent" android:layout_height="match_parent" android:layout_alignParentTop="true" android:layout_alignLeft="@+id/layout_video_thumbnail" android:layout_alignStart="@+id/layout_video_thumbnail" android:layout_alignRight="@+id/layout_video_thumbnail" android:layout_alignEnd="@+id/layout_video_thumbnail" android:visibility="visible"/> ViewHolder: public class VideoViewHolder extends RecyclerView.ViewHolder { protected FrameLayout containerYouTubePlayer; protected TextView textViewTitle; protected ImageView imageViewThumbNail; protected Button buttonPreview, buttonSet; protected Context activityContext; public VideoViewHolder(Context activityContext, View itemView) { super(itemView); this.activityContext = activityContext; containerYouTubePlayer = (FrameLayout) itemView.findViewById(R.id.youtube_holder); […]

Android片段和dependency injection

正如标题所说,我试图找出哪个是在片段中注入依赖关系的最佳方法。 我想独立于RoboGuice等外部框架 现在,以最简单的方式,我有一个抽象的逻辑的接口,并从一个活动,我想注入这个接口的实现。 我知道我必须为我的片段提供一个默认构造函数,因为系统可能需要在某个时候重新创build片段,创build片段的新实例的常用方法是提供静态方法来处理创build这个: public static Fragment newInstance() { final Bundle bundle = new Bundle(); … final Fragment fragment = new MyFragment(); fragment.setArguments(bundle); return fragment; } 我怎么能传递我的依赖到片段? 我应该使它实现Parcelable或Serializable接口,然后将其打包到Bundle中? 有没有其他方法可以达到这个效果? 谢谢!

与活动和儿童片段的导航抽屉

我有一个活动 A ,一个ListFragment P和2个片段 Q和R 当应用程序启动时, A被创build,加载P 基于用户点击的是Q或R 现在通过参考本教程,我实现了一个导航抽屉 ,它向用户显示某些项目。 但是,由于我已经在活动中实现了导航抽屉,因此它显示了所有碎片。 我希望它只对P 。 (非常类似于谷歌Gmail应用程序当用户在主屏幕上 – 抽屉是存在的。当用户点击打开电子邮件,抽屉变成后退button) 我不知道如何翻译上面的代码。 任何帮助表示赞赏。

打开活动A并加载活动A的活动B的特定片段

我有活动A根据菜单select加载片段。 如果我从活动B到活动A做了一个意图,将加载默认指定的活动A片段。 我想要实现的是从活动A而不是默认的加载另一个片段。 我希望这至less有一点道理。 我试图做的是这个 – > 在活动BI有 – > btnlinkToForum.setOnClickListener(new View.OnClickListener() { public void onClick(View view) { Intent i = new Intent(getApplicationContext(), ReaderActivity.class); i.putExtra("fragmentNumber", 1); startActivity(i); } }); 我尝试基于putExtra数据来加载活动A中的特定片段 – >我将这段代码放入onCreate方法 if (getIntent().getIntExtra("fragmentNumber", 0) == 1) { FragmentManager fm = ReaderActivity.this.getSupportFragmentManager(); FragmentTransaction ft = fm.beginTransaction(); FragmentForum fragment = new FragmentForum(); if (fragment != null) […]

开关选项卡onNewIntent导致IllegalStateException

如果我尝试切换onNewIntent方法中的导航选项卡,我的FragmentActivity(singleTop)给我IllegalStateException。 更具体地说,我的应用程序使用SherlockActionBar三个选项卡,当接收到推送通知(和意图被调用),如果应用程序暂停在另一个选项卡上,当我收到意图(在onNewIntent)我改变该选项卡(因此片段)与bar.setSelectedNavigationItem()第三个选项卡,这是我的问题。 如果应用在第三个标签上被暂停,则不会发生exception情况。 码: @Override public void onNewIntent(Intent intent) { super.onNewIntent(intent); Bundle bundle = intent.getExtras(); if (bundle != null) { bar.setSelectedNavigationItem(Utils.ORDER_STATUS_TAB_ID); } else { } } 推送通知意图: Intent notificationIntent = new Intent(context, MainActivity.class); notificationIntent.putExtra("orderUpdate", new Gson().toJson(orderUpdate)); notificationIntent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK | Intent.FLAG_ACTIVITY_SINGLE_TOP); PendingIntent contentIntent = PendingIntent.getActivity(context, 0, notificationIntent, 0); notification.contentIntent = contentIntent; TabListener方法(在堆栈跟踪中的第56行的注释) @Override public void onTabSelected(Tab tab, […]

Android – 多次实例化片段?

我正在创build一个在ListView中显示数据的应用程序。 数据分为两种types(Popular,Favorites)。 我有一个活动和两个片段。 碎片显示基于其类别的项目列表。 我用这个ListView。 然后我有两个fragment_layouts,它们在devise上完全相同,但是具有不同的视图ID,即TextView的tvId1和tvId2。 碎片中的代码仅在引用布局中对应的布局和视图时有所不同。 我从JSON格式的URL中获取数据。 但是每个类别都有一组不同的URL,它们只会产生不同的数据。 然后我parsing每个片段上相应的URL,并相应地填充ListView。 一切工作到目前为止。 我想知道的是,有什么方法可以使用一个片段,并在每个片段中使用两次不同的数据集? 这样,我不必创build另一个片段,如果一个新的类别出现。 感谢任何帮助。

如何隐藏片段中的偏好之间的分隔线

我想隐藏片段中的偏好之间的分隔线。 代码如下: 1.SettingsActivity.java public class SettingsActivity extends PreferenceActivity { super.onCreate(savedInstanceState); SettingsFragment settingsFragement = new SettingsFragment(); FragmentTransaction transaction = getFragmentManager().beginTransaction(); transaction.add(android.R.id.content, settingsFragement, "settings"); transaction.commitAllowingStateLoss(); } 2.SettingsFragment.java public class SettingsFragment extends PreferenceFragment{ public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); addPreferencesFromResource(R.xml.settings); } } 3.settings.xml <?xml version="1.0" encoding="utf-8"?> <PreferenceScreen xmlns:android="http://schemas.android.com/apk/res/android"> <PreferenceCategory> <Preference android:key="preference_a" android:title="preferenceA"/> <Preference android:key="preference_b" android:title="preferenceB"/> <ListPreference android:key="list_preference_c" android:title="list_preferenceC"/> […]

Android:将一个片段添加到一个活动

我对Android相当陌生,所以这可能有一个明显的答案,但我似乎无法find它。 我正在编写一个计算器应用程序的版本。 我想这样做,当用户点击其中一个button时,这将启动一个片段(有更多的button,他们可以用于更多的input)。 片段代码如下: import android.app.Fragment; import android.os.Bundle; import android.view.LayoutInflater; import android.view.View; import android.view.ViewGroup; public class VariableMenu extends Fragment { public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState);} public void onActivityCreated(Bundle savedInstanceState) { super.onActivityCreated(savedInstanceState); } public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) { return inflater.inflate(R.layout.fragment, container, false); } } 用XML布局如下: <?xml version="1.0" encoding="utf-8"?> <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="fill_parent" […]

尽可能防止活动被破坏

我有一个应用程序,一个单一的活动应用程序与片段。 这个应用程序的通常使用情况是,你启动它,并把电话远离,然后,你回到手机,并插入一些数据…这是一个日志应用程序,你正在做的事情,并插入你的结果进入应用程序… 我有这个问题,我的活动会不时被破坏,并重新创build一个空的捆绑…(大多数情况下,情况并非如此,但偶尔会发生这种情况…)。 我的应用程序有时启动服务,即使这种服务在这种情况下被杀害… 这意味着,系统已经杀了我的应用程序,是吗? 我怎样才能避免这一点? 我需要保留用户数据和当前的最高碎片…并将它们保存到捆绑包中,只要其状态和数据得到保存,一切都会正常工作。 顺便说一下,我的活动总是最活跃的,只有屏幕closures经常…我只是想保持我的活动尽可能长时间,直到用户离开后退button…或保存状态可靠 重要的提示 onSaveInstance不总是工作(这不是生命周期的一部分,因此不保证被调用)…它只能在大多数时间…我需要一种方式,总是工作…如果android杀死我的应用程序。 ..