小编use*_*605的帖子

有人知道如何在Android中使用PagerTitleStrip

我决定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)

有谁知道如何使用它?

编辑:对不起它getPageTitleViewPagerAdapter...中实现方法时有效但我不希望显示任何文本,只是一个小光标显示当前视图与上一个和下一个视图的位置...

android android-viewpager

22
推荐指数
1
解决办法
3万
查看次数

如何在Lollipop中获取自定义通知的默认通知背景颜色?

我在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)

知道如何使用设备默认主题颜色进行自定义通知吗?

notifications android android-5.0-lollipop

18
推荐指数
3
解决办法
7777
查看次数

更改PreferenceScreen时,请保持操作栏显示

我正在尝试在我的首选项屏幕中显示操作栏.为此,我在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也应该显示标题......但事实并非如此

    // 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);
    }
Run Code Online (Sandbox Code Playgroud)

android preferenceactivity android-actionbar preferencefragment

18
推荐指数
2
解决办法
7362
查看次数

自定义通知:java.lang.RuntimeException:错误的数组长度

我想利用谷歌的样品用在我的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)

notifications android runtimeexception

17
推荐指数
2
解决办法
9392
查看次数

Android:NoClassDefFoundError android.os.AsyncTask

几周之后,我看到越来越多的应用程序崩溃,但有以下异常

致命异常:java.lang.NoClassDefFoundError android.os.AsyncTask

这个代码运行了一个月没有任何问题,现在似乎在某些设备上失败(75%android 2.3.x和25%android 4.0.3)当我创建一个扩展AsyncTask的类的新实例时,它失败了.

我从UI线程创建这个类.

如何在SDK中定义该类?

android noclassdeffounderror android-asynctask

15
推荐指数
2
解决办法
5305
查看次数

Android:禁用DialogFragment确定/取消按钮

如何在使用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 button android-alertdialog dialogfragment

11
推荐指数
2
解决办法
1万
查看次数

Android:在Samsung设备上添加窗口失败/ android.os.TransactionTooLargeException

由于几个月我在我的应用程序中遇到大量异常,并显示错误消息:添加窗口失败(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)

android exception

11
推荐指数
1
解决办法
9575
查看次数

每次在三星设备上更新应用程序时,小工具都会消失

我的应用程序中有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 widget samsung-touchwiz

9
推荐指数
1
解决办法
1592
查看次数

如何在更新过程中防止 Android 应用数据丢失(随机问题)

我正在开发一个 Android 应用程序,并且在过去 3 年中每周都会发布更新。我不时有用户告诉我该应用程序在最近更新后丢失了所有内容。我的应用程序中没有动态删除应用程序数据的代码,我确定用户没有卸载应用程序也没有清除应用程序缓存。

我猜这可能是 Play 商店的错误。一位用户最近告诉我,他在更新发生时正在使用我的应用程序(在后台收听音频文件)。在音频文件结束时,播放停止。他打开应用程序,看到他的所有数据都消失了。如果使用该应用程序,是否有办法阻止 Play 商店更新(该应用程序在播放期间锁定数据库以进行写访问)?这不是什么大问题。它可能会影响 0.01% 的用户,但我可以避免这个问题,请告诉我 ;)

android data-loss google-play

5
推荐指数
0
解决办法
911
查看次数

Android意图接收和轮换

我在我的活动中使用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 rotation intentfilter screen-orientation

4
推荐指数
1
解决办法
1775
查看次数