我试图完成一些我认为很简单的工作,但是我很困惑如何使用PreferenceActivity类和xml首选项标记来完成它。 当用户点击应用程序设置图标时,我想让他们看到一个checkbox和列表的小列表。 我只有一个偏好片段。 到目前为止,我可以设置PreferenceActivity xml文件(preferences.xml和偏好片段xmls)来显示首选项片段的单个标头。 当用户select该标题的首选项屏幕正是我想要的,但是,我不能找出一种方法来跳过显示第一个标题屏幕。 点击设置/首选项图标显示一个单独的标题,然后点击以获得实际的设置/首选项似乎是一种浪费。 我明白,如果你想分类你的偏好,这可能是非常有帮助的,但是对于一些简单的事情来说,这会增加额外的开销,而且看起来相当笨拙。 我希望我很清楚。 总之这是我的问题: 什么是使用PreferenceActivity类和偏好标题标签简单地显示一个没有标题的选项屏幕的新的首选方式? 在环顾四周后,看起来好像我正在尝试做一些以前的方法直接做的事情。 我试图做到这一点,而不使用任何弃用的function。 在此先感谢,B.
Android Market / Google Music似乎可以在ViewPager中包含的不同片段之间存在某种差距。 任何想法如何完成? 添加边距/填充到实际的片段视图不起作用,因为视图仍然需要占据整个屏幕的宽度。 只有滑动ViewPager时才能看到“间隙”。
从AppCompatActivity启动时,My Fragment不会调用onAttach(context)方法。 在XML中创build片段: <fragment android:id="@+id/toolbar" class="package.MainToolbarFragment" android:layout_width="match_parent" android:layout_height="wrap_content" tools:layout="@layout/fragment_main_toolbar" /> 但是,如果我从support.v4.Fragment扩展它, onAttach(context)调用! 可能是什么问题呢? 当然,我可以扩展来自v4.Fragment所有片段,但我不想要它。 这是不好的做法吗? 另外项目分钟sdk 14。
当我尝试与Android KitKat我的应用程序时,PreferenceActivity中有一个错误。 PreferenceActivity的子类必须重写isValidFragment(String)来validationFragment类是有效的! com.crbin1.labeltodo.ActivityPreference没有检查,如果片段com.crbin1.labeltodo.StockPreferenceFragment是有效的 在文档中我find了下面的解释 protected boolean isValidFragment(String fragmentName) 在API级别19中添加 子类应该重写此方法,并validation给定片段是否附加到此活动的有效types。 对于为android:targetSdkVersion构build的应用程序,默认实现将返回true,此值比KITKAT更早。 对于以后的版本,它会抛出一个exception。 我没有find任何解决问题的例子。
我开始使用DialogFragment,因为他们通过改变方向和东西很好地工作。 但是我遇到了一个很讨厌的问题。 我有AsyncTask显示进度DialogFragment并closuresonPostExecute 。 一切工作正常,除非当应用程序在后台(例如按下主屏幕button后) onPostExecute时发生。 然后,我得到了DialogFragment消失的这个错误 – “ Can not perform this action after onSaveInstanceState ”。 卫生署。 定期的对话框工作得很好。 但不是FragmentDialog。 所以我想知道,当应用程序在后台时解除DialogFragment的正确方法是什么? 我还没有真正与Fragments合作过,所以我觉得我只是错过了一些东西。
我有一个片段 ; MyFragment myFrag = new MyFragment(); 我把bundle数据放到这个片段中: Bundle bundle = new Bundle(); bundle.putString("TEST", "test"); myFrag.setArguments(bundle); 然后,我用这个replace旧的碎片,并放在后台 : //replace old fragment fragmentTransaction.replace(R.id.fragment_placeholder, myFrag, "MyTag"); //put on backstack fragmentTransaction.addToBackStack(null); //commit & get transaction ID int transId = fragmentTransaction.commit(); 后来,我用上面的事务ID( transId ) popupbackstack : //pop the transaction from backstack fragmentManager.popBackStack(transId,FragmentManager.POP_BACK_STACK_INCLUSIVE); 后来,我再次将bundle数据设置为我的片段( myFrag )的参数: //Got Java.lang.IllegalStateException: fragment already […]
我想在片段中启动摄像头,但片段中的onActivityResult不能parsingRESULT_OK。 我该怎么办? 我正在启动相机使用: public static final int CAMERA_REQUEST_CODE = 1999; Intent cameraIntent = new Intent(android.provider.MediaStore.ACTION_IMAGE_CAPTURE); startActivityForResult(cameraIntent, CAMERA_REQUEST_CODE); 使用以下方式获取拍摄图像 @Override public void onActivityResult(int requestCode, int resultCode, Intent data) { super.onActivityResult(requestCode, resultCode, data); if (requestCode == CAMERA_REQUEST_CODE && resultCode == RESULT_OK) { Bitmap bitmap = (Bitmap) data.getExtras().get("data"); if (bitmap != null) { } } } 我想在当前片段捕获图像!
新的Android Billing v3文档和帮助程序代码在启动购买stream程时使用startIntentSenderForResult() 。 我想从Fragment开始购买stream程(并接收结果)。 例如文档build议调用 startIntentSenderForResult(pendingIntent.getIntentSender(), 1001, new Intent(), Integer.valueOf(0), Integer.valueOf(0), Integer.valueOf(0)); 和帮手代码调用 mHelper.launchPurchaseFlow(this, SKU_GAS, 10001, mPurchaseFinishedListener, "bGoa+V7g/yqDXvKRqq+JTFn4uQZbPiQJo4pf9RzJ"); 它调用startIntentSenderForResult() 。 问题是,调用startIntentSenderForResult()会导致onActivityResult()在父Activity上调用,而不是从IabHelper所在的Fragment调用。 我可以在父Activity接收onActivityResult() ,然后手动调用Fragment上的onActivityResult() ,但有没有办法从Fragment调用startIntentSenderForResult() ,直接返回Fragment的onActivityResult() ?
我收到以下错误: “在下面显示的片段文件中, ”getSupportFragmentManager()方法未定义为typesnew View.OnClickListener(){}“ 。 我有通过ABS引用的兼容性库和正确的导入。 我重新安装ABS库w /兼容库,清理项目,重新启动Eclipse,但没有任何工作。 本质上,我试图让片段显示一个dateselect器通过一个对话框片段。 一旦selectdate,它必须返回到片段,以便它可以用来计算基于该date的信息。 这是我的片段的代码: package com.owentech.abstabsviewpager; import android.app.Activity; import android.app.Dialog; import android.os.Bundle; import android.view.LayoutInflater; import android.view.View; import android.view.View.OnClickListener; import android.view.ViewGroup; import android.widget.Button; import android.widget.Toast; import android.support.v4.app.DialogFragment; import android.support.v4.app.FragmentManager; import android.support.v4.app.FragmentPagerAdapter; import android.support.v4.app.FragmentActivity; import android.support.v4.app.Fragment; import android.support.v4.app.FragmentTransaction; import com.actionbarsherlock.app.SherlockFragment; public class ObstetricsFragment1 extends SherlockFragment{ @Override public View onCreateView(LayoutInflater inflater, […]
我最近厌倦了不断地需要知道String键来创build我的Fragments时将参数传入Bundles 。 所以我决定为我的Fragments创build构造函数,这些构造函数将采用我想要设置的参数,并使用正确的String键将这些variables放入Bundles ,因此不需要其他Fragments和Activities需要知道这些键。 public ImageRotatorFragment() { super(); Log.v(TAG, "ImageRotatorFragment()"); } public ImageRotatorFragment(int imageResourceId) { Log.v(TAG, "ImageRotatorFragment(int imageResourceId)"); // Get arguments passed in, if any Bundle args = getArguments(); if (args == null) { args = new Bundle(); } // Add parameters to the argument bundle args.putInt(KEY_ARG_IMAGE_RES_ID, imageResourceId); setArguments(args); } 然后我像正常一样提出这些论点。 @Override public void onCreate(Bundle […]