我决定ViewPager在我的应用程序中使用a ,一切正常.我知道我想PagerTitleStrip在我的中使用a ViewPager,但是我没有找到关于如何做的任何信息......我在这个类中找到的唯一页面(sic !!)是http:// developer. android.com/reference/android/support/v4/view/PagerTitleStrip.html
所以看来我只需要PagerTitleStrip在我的ViewPager布局中添加,但我的活动中没有看到任何新内容......
<android.support.v4.view.ViewPager
android:id="@+id/viewPager"
android:layout_width="match_parent"
android:layout_height="match_parent" >
<android.support.v4.view.PagerTitleStrip
android:id="@+id/pagerTitleStrip"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_gravity="bottom" />
</android.support.v4.view.ViewPager>
Run Code Online (Sandbox Code Playgroud)
有谁知道如何使用它?
编辑:对不起它getPageTitle在ViewPagerAdapter...中实现方法时有效但我不希望显示任何文本,只是一个小光标显示当前视图与上一个和下一个视图的位置...
我在Lollipop中的自定义通知背景颜色有问题.它是黑色的应该是白色的.textColor没问题:
我正在使用
<resources>
<style name="NotificationText" parent="android:TextAppearance.StatusBar.EventContent" />
<style name="NotificationTitle" parent="android:TextAppearance.StatusBar.EventContent.Title" />
</resources>
Run Code Online (Sandbox Code Playgroud)
知道如何使用设备默认主题颜色进行自定义通知吗?
我正在尝试在我的首选项屏幕中显示操作栏.为此,我在SettingActivity中添加了以下代码
public class PreferencesActivity extends ActionBarActivity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.preferences_activity);
getFragmentManager().beginTransaction()
.replace(R.id.container, new PreferencesFragment()).commit();
getSupportActionBar().setDisplayOptions(ActionBar.DISPLAY_SHOW_TITLE | ActionBar.DISPLAY_SHOW_HOME | ActionBar.DISPLAY_HOME_AS_UP);
getSupportActionBar().setDisplayHomeAsUpEnabled(true);
}
}
Run Code Online (Sandbox Code Playgroud)
然后是我在PreferencesFragment中的其余代码.这样可以正常工作,但只要按下PreferenceScreen首选项,操作栏就会隐藏.如果我回到偏好主屏幕,我可以再次看到它.知道如何显示操作栏(并使用PreferenceScreen标签更新)吗?
编辑:查看PreferenceScreen代码,当单击PreferenceScreen时,它看起来像是一个全屏对话框.因为我的偏好有标题,所以Dialog也应该显示标题......但事实并非如此
Run Code Online (Sandbox Code Playgroud)// Set the title bar if title is available, else no title bar final CharSequence title = getTitle(); Dialog dialog = mDialog = new Dialog(context, context.getThemeResId()); if (TextUtils.isEmpty(title)) { dialog.getWindow().requestFeature(Window.FEATURE_NO_TITLE); } else { dialog.setTitle(title); }
android preferenceactivity android-actionbar preferencefragment
我想利用谷歌的样品用在我的Android应用程序的自定义通知这里(部分创建自定义通知布局).由于我使用了这个确切的代码,我RuntimeException每隔几次就会收到通知.
我的堆栈跟踪:
FATAL EXCEPTION: main
java.lang.RuntimeException: bad array lengths
at android.os.Parcel.readIntArray(Parcel.java:677)
at android.app.INotificationManager$Stub$Proxy.enqueueNotificationWithTag(INotificationManager.java:369)
at android.app.NotificationManager.notify(NotificationManager.java:110)
at android.app.NotificationManager.notify(NotificationManager.java:90)
at com.****.service.UpdateFeedService.notifyUpdateProgress(UpdateFeedService.java:266)
at com.****.service.task.PodcastUpdaterTask.onProgressUpdate(PodcastUpdaterTask.java:63)
at com.****.service.task.PodcastUpdaterTask.onProgressUpdate(PodcastUpdaterTask.java:1)
at android.os.AsyncTask$InternalHandler.handleMessage(AsyncTask.java:432)
at android.os.Handler.dispatchMessage(Handler.java:99)
at android.os.Looper.loop(Looper.java:144)
at android.app.ActivityThread.main(ActivityThread.java:4937)
at java.lang.reflect.Method.invokeNative(Native Method)
at java.lang.reflect.Method.invoke(Method.java:521)
at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:868)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:626)
at dalvik.system.NativeStart.main(Native Method)
Run Code Online (Sandbox Code Playgroud)
我的代码:
private final Intent updateInProgressIntent = new Intent(this.context, PodcastListActivity.class);
private RemoteViews updateInProgressContentView = null;
private PendingIntent updateInProgressPendingIntent = null;
private Notification updateInProgressNotification = null;
...
@Override
public void onCreate() {
super.onCreate(); …Run Code Online (Sandbox Code Playgroud) 几周之后,我看到越来越多的应用程序崩溃,但有以下异常
致命异常:java.lang.NoClassDefFoundError android.os.AsyncTask
这个代码运行了一个月没有任何问题,现在似乎在某些设备上失败(75%android 2.3.x和25%android 4.0.3)当我创建一个扩展AsyncTask的类的新实例时,它失败了.
我从UI线程创建这个类.
如何在SDK中定义该类?
如何在使用AlertDialog创建DialogFragment时禁用"确定/取消"按钮?我尝试调用myAlertDialogFragment.getDialog(),但即使显示片段,它也始终返回null
public static class MyAlertDialogFragment extends DialogFragment {
public static MyAlertDialogFragment newInstance(int title) {
MyAlertDialogFragment frag = new MyAlertDialogFragment();
Bundle args = new Bundle();
args.putInt("title", title);
frag.setArguments(args);
return frag;
}
@Override
public Dialog onCreateDialog(Bundle savedInstanceState) {
int title = getArguments().getInt("title");
return new AlertDialog.Builder(getActivity())
.setIcon(R.drawable.alert_dialog_icon)
.setTitle(title)
.setPositiveButton(R.string.alert_dialog_ok,
new DialogInterface.OnClickListener() {
public void onClick(DialogInterface dialog, int whichButton) {
((FragmentAlertDialog)getActivity()).doPositiveClick();
}
}
)
.setNegativeButton(R.string.alert_dialog_cancel,
new DialogInterface.OnClickListener() {
public void onClick(DialogInterface dialog, int whichButton) {
((FragmentAlertDialog)getActivity()).doNegativeClick();
}
}
)
.create();
}
}
Run Code Online (Sandbox Code Playgroud)
我知道我可以通过膨胀包含取消和确定按钮的布局来实现它,但我宁愿使用AlertDialog解决方案,如果可能的话
由于几个月我在我的应用程序中遇到大量异常,并显示错误消息:添加窗口失败(android.os.TransactionTooLargeException)
我知道IPC缓冲区事务大小限制为1024KB,但我只是将id发送到我的服务(Long值).奇怪的是,这些例外只发生在安装了Android 4.4.2的三星设备上(每一次超过50K的崩溃).你知道最新三星ROM中的一个特定错误吗?
java.lang.RuntimeException: Adding window failed
at android.view.ViewRootImpl.setView(ViewRootImpl.java:738)
at android.view.WindowManagerGlobal.addView(WindowManagerGlobal.java:278)
at android.view.WindowManagerImpl.addView(WindowManagerImpl.java:69)
at android.widget.Toast$TN.handleShow(Toast.java:478)
at android.widget.Toast$TN$1.run(Toast.java:374)
at android.os.Handler.handleCallback(Handler.java:733)
at android.os.Handler.dispatchMessage(Handler.java:95)
at android.os.Looper.loop(Looper.java:136)
at android.app.ActivityThread.main(ActivityThread.java:5476)
at java.lang.reflect.Method.invokeNative(Method.java)
at java.lang.reflect.Method.invoke(Method.java:515)
at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:1268)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:1084)
at dalvik.system.NativeStart.main(NativeStart.java)
Caused by: android.os.TransactionTooLargeException
at android.os.BinderProxy.transact(Binder.java)
at android.view.IWindowSession$Stub$Proxy.addToDisplay(IWindowSession.java:710)
at android.view.ViewRootImpl.setView(ViewRootImpl.java:727)
at android.view.WindowManagerGlobal.addView(WindowManagerGlobal.java:278)
at android.view.WindowManagerImpl.addView(WindowManagerImpl.java:69)
at android.widget.Toast$TN.handleShow(Toast.java:478)
at android.widget.Toast$TN$1.run(Toast.java:374)
at android.os.Handler.handleCallback(Handler.java:733)
at android.os.Handler.dispatchMessage(Handler.java:95)
at android.os.Looper.loop(Looper.java:136)
at android.app.ActivityThread.main(ActivityThread.java:5476)
at java.lang.reflect.Method.invokeNative(Method.java)
at java.lang.reflect.Method.invoke(Method.java:515)
at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:1268)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:1084)
at dalvik.system.NativeStart.main(NativeStart.java)
Run Code Online (Sandbox Code Playgroud)
要么
java.lang.RuntimeException: Adding window failed
at android.view.ViewRootImpl.setView(ViewRootImpl.java:726)
at android.view.WindowManagerGlobal.addView(WindowManagerGlobal.java:278)
at …Run Code Online (Sandbox Code Playgroud) 我的应用程序中有2个小部件.两者都具有完全相同的功能,但具有不同的布局.它们在每台设备上运行良好,但看起来三星设备上存在问题.每次我发布新版本的应用程序时,都会从用户屏幕中删除该窗口小部件.看起来这是一个三星TouchWiz错误,但用户告诉我其他应用程序没有这个问题.知道发生了什么事吗?
BTW我想了一下我在这篇博文中找到了解决问题的方法:https://medium.com/the-wtf-files/the-mysterious-case-of-the-disappearing-widget-f4177a8e2c2b 但是我我不是手动打电话
updateIntent.setAction(AppWidgetManager.ACTION_APPWIDGET_UPDATE);
Run Code Online (Sandbox Code Playgroud)
相反,我正在打电话
ComponentName cn = new ComponentName(context,clazz); AppWidgetManager.getInstance(context).updateAppWidget(cn,views);
为了更新我的小部件
更多我的代码:
public static final int layout = R.layout.widget_large_layout;
public static final BitmapQualityEnum thumbnailQuality = BitmapQualityEnum.HIGH_RES;
public static final Class<?> clazz = LargeWidgetProvider.class;
@Override
public void onUpdate(Context context, AppWidgetManager appWidgetManager, int[] appWidgetIds) {
if (context != null && appWidgetIds != null && appWidgetIds.length > 0) {
// To prevent any ANR timeouts, we perform the update in a service
context.startService( new Intent(context, LargeWidgetProvider.UpdateService.class));
}
}
@Override …Run Code Online (Sandbox Code Playgroud) 我正在开发一个 Android 应用程序,并且在过去 3 年中每周都会发布更新。我不时有用户告诉我该应用程序在最近更新后丢失了所有内容。我的应用程序中没有动态删除应用程序数据的代码,我确定用户没有卸载应用程序也没有清除应用程序缓存。
我猜这可能是 Play 商店的错误。一位用户最近告诉我,他在更新发生时正在使用我的应用程序(在后台收听音频文件)。在音频文件结束时,播放停止。他打开应用程序,看到他的所有数据都消失了。如果使用该应用程序,是否有办法阻止 Play 商店更新(该应用程序在播放期间锁定数据库以进行写访问)?这不是什么大问题。它可能会影响 0.01% 的用户,但我可以避免这个问题,请告诉我 ;)
我在我的活动中使用Intent Filter来检索用户点击的url.
在我的活动onCreate方法中,我有以下代码
Intent intent = getIntent();
if (Intent.ACTION_VIEW.equals(intent.getAction())) {
url = intent.getDataString();
showDialog(DIALOG_ID);
}
Run Code Online (Sandbox Code Playgroud)
除非我旋转手机,否则效果很好.即使在旋转之前关闭了对话框,每次更改手机方向时它都会重新打开.我可以这样做.
为了您的信息,我不想锁定方向
android ×10
button ×1
data-loss ×1
exception ×1
google-play ×1
intentfilter ×1
rotation ×1
widget ×1