小编Lea*_*ros的帖子

ActionBar旋转时带有片段的选项卡

我正在构建一个带有ActionBar两个Tabs 的应用程序.如果设备/模拟器没有旋转,一切正常.如果旋转,选项卡状态会自动切换到tab1(正常,因为onCreate被调用)但内容不会更改.如果我在新方向中选择一个选项卡,则会调用onCreateView()所选方法,Fragment但视图不会更新(保持不变).有小费吗?

代码.

主要活动:

    ActionBar actionbar = getActionBar();
    actionbar.setNavigationMode(ActionBar.NAVIGATION_MODE_TABS);

    ActionBar.Tab ATab = actionbar.newTab().setText(R.string.player);
    ActionBar.Tab BTab = actionbar.newTab().setText(R.string.stations);

    Fragment AFragment = new AFragment();
    Fragment BFragment = new BFragment();

    PlayerTab.setTabListener(new MyTabsListener(AFragment));
    StationsTab.setTabListener(new MyTabsListener(BFragment));

    actionbar.addTab(ATab);
    actionbar.addTab(BTab);
Run Code Online (Sandbox Code Playgroud)

使用相同的选项卡显示简单的文本视图.textview简单说明选择了哪个选项卡.

片段:

@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) {
    // Inflate the layout for this fragment
    return inflater.inflate(R.layout.a, container, false);
}
Run Code Online (Sandbox Code Playgroud)

上面提到的Fragment布局只包含带有硬编码Text的TextView.(仅用于测试目的)


Main布局如下所示.

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout
xmlns:android="http://schemas.android.com/apk/res/android"
android:orientation="vertical"
android:layout_width="fill_parent"
android:layout_height="fill_parent" >


    <LinearLayout
        android:id="@+id/fragment_container"
        android:layout_width="match_parent"
        android:layout_height="match_parent" …
Run Code Online (Sandbox Code Playgroud)

layout tabs android fragment android-actionbar

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

MediaPlayer停止并重新启动

我得到一个奇怪的错误.我使用MediaPlayer播放媒体流(如shoutcast或icecast).
有时突然播放流(总随机)发生错误,流停止并重新启动.
OnErrorListener不会被触发!

logcat的:

03-02 17:50:36.274: W/MediaPlayer(16799): info/warning (702, 0)
03-02 17:50:36.274: I/MediaPlayer(16799): Info (702,0)
Run Code Online (Sandbox Code Playgroud)

或者像这样:

03-02 17:50:14.250: W/MediaPlayer(16799): info/warning (703, 0)
03-02 17:50:14.250: W/MediaPlayer(16799): info/warning (701, 0)
03-02 17:50:14.250: I/MediaPlayer(16799): Info (703,0)
03-02 17:50:14.250: I/MediaPlayer(16799): Info (701,0)
Run Code Online (Sandbox Code Playgroud)

要么

03-02 18:03:33.906: W/MediaPlayer(16799): info/warning (703, 126) <br>
03-02 18:03:33.906: I/MediaPlayer(16799): Info (703,126)
Run Code Online (Sandbox Code Playgroud)

有什么想法吗?

编辑:

啊.还有一个信息.701手段MEDIA_INFO_BUFFERING_START702手段MEDIA_INFO_BUFFERING_END.如果我增加缓冲区大小,我想我可以解决这些问题?

编辑:但等等.BufferingSize被烘焙到系统中.诅咒.:)

java android exception media-player

7
推荐指数
1
解决办法
6803
查看次数

Android 2.3或更低版本的通知中的可点击自定义视图

我创建了一个自定义通知布局,它有一个可点击的按钮.到目前为止在Android 3(API Level 11)或更高版本上工作得很好,但是在Android 2.3上不起作用,ContentIntentNotification总是覆盖我的布局并且无法覆盖.我无法点击视图,我总是点击通知并启动

显示通知和布局的代码:

Builder builder = new NotificationCompat.Builder(getApplicationContext());

        RemoteViews contentView = new RemoteViews(getPackageName(), R.layout.notification_layout);
        contentView.setImageViewResource(R.id.notImage, R.drawable.stat_icon);
        contentView.setTextViewText(R.id.notTitle, "Title");
        contentView.setTextViewText(R.id.notText, "Text");
        contentView.setOnClickPendingIntent(R.id.notButton, secondPendingIntent);
        contentView.setOnClickPendingIntent(R.id.notContentLayout, pendingIntent);

        builder
                .setContentTitle("Title")
                .setContentText("Text")
                .setSmallIcon(R.drawable.stat_icon)
                .setOngoing(true)
                .setWhen(0)
                .setTicker("Ticket")
                .setContent(contentView)
                .setContentIntent(contentIntent); //this intent override my contentView.setOnClickPendintIntent. I can't click the view. 

        not = builder.build();

        not.contentView = contentView;
Run Code Online (Sandbox Code Playgroud)

布局:

<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:id="@+id/layout"
    android:layout_width="fill_parent"
    android:layout_height="fill_parent"
    android:padding="10dp" >

    <RelativeLayout
        android:id="@+id/notContentLayout"
        android:layout_width="wrap_content"
        android:layout_height="match_parent"
        android:layout_alignParentLeft="true"
        android:layout_toLeftOf="@+id/notButton" >

        <ImageView
            android:id="@+id/notImage"
            android:layout_width="wrap_content"
            android:layout_height="fill_parent"
            android:layout_alignParentLeft="true"
            android:layout_marginLeft="8dp" …
Run Code Online (Sandbox Code Playgroud)

layout notifications android

7
推荐指数
1
解决办法
2812
查看次数

主题以编程方式设置.如何重新加载要应用的活动

如何在不重新启动整个应用程序的情况下应用主题?如果我使用startActivity(getIntent()); finish();Activity退出并且不重启.是否可以简单地重新启动/重新创建活动以应用主题?

xml android themes styles actionbarsherlock

6
推荐指数
1
解决办法
6658
查看次数

根据样式更改ActionBar菜单图标

我想使用不同的ActionBar图标取决于我使用的样式(暗或亮).我无法弄明白是怎么回事,继承了我的尝试:

<style name="AppThemeDark" parent="Theme.Sherlock.ForceOverflow">
        <item name="android:actionButtonStyle">@style/customActionButtonStyleDark</item>
        <item name="actionButtonStyle">@style/customActionButtonStyleDark</item>
    </style>

    <style name="AppThemeLight" parent="Theme.Sherlock.Light.ForceOverflow">
        <item name="android:actionButtonStyle">@style/customActionButtonStyleLight</item>
        <item name="actionButtonStyle">@style/customActionButtonStyleLight</item>
    </style>

    <style name="customActionButtonStyleDark" >
        <item name="@drawable/action_search">@drawable/action_search</item>
    </style>

    <style name="customActionButtonStyleLight" >
        <item name="@drawable/action_search">@drawable/action_search_light</item>
    </style>
Run Code Online (Sandbox Code Playgroud)

我也尝试<item name="@drawable/action_search">@drawable/action_search</item>直接插入主题样式,但没有任何效果.
有什么想法?

android styles actionbarsherlock android-actionbar

6
推荐指数
2
解决办法
3344
查看次数

SlidingMenu Library with ActionBarSherlock

在SlidingMenu的文档中写下:

进入您计划使用的SlidingActivities,使它们扩展Sherlock__Activity而不是__Activity.

设置应该没问题,我按照指南,但如果我尝试扩展我Activity的例如:SlidingSherlockFragmentActivitySherlockSlidingFragmentActivity不起作用.

如果我延长我ActivitySherlockFragmentActivity我不能让SlidingMenugetSlidingMenu()或致电setBehindContentView.

android android-activity actionbarsherlock

6
推荐指数
1
解决办法
2553
查看次数

在Handler中执行所有已安排的(postDelayed)runnable

我使用一个Handler,它发布了一些Runnablevia postDelayed(r, DELAY_TIME),但我需要Runnables在发布新的via之前执行所有操作postDelayed.

任何好的想法如何尽可能简单地实现这一点?

编辑:

我希望它基本上像这样:

Runnable r = new Runnable() {
    // Do some fancy action
};

if (mHandler.runnablesScheduled) {
    mHandler.flushAllScheduledRunnables();
}
mHandler.postDelayed(r, DELAY);
Run Code Online (Sandbox Code Playgroud)

android handler runnable android-handler

6
推荐指数
1
解决办法
1855
查看次数

像Google+这样的可选圆形图像视图

如何ImageView在用于个人资料照片的当前Google+应用中创建可选择的循环?

这就是我所说的:

例

取消选择上面的图像,然后选择下面的图像.

我尝试复制配置文件图片1到1.

到目前为止我的工作:

loadedImageBitmap其上显示

mImageView.setBackground(createStateListDrawable());
mImageView.setImageBitmap(createRoundImage(loadedImage));
Run Code Online (Sandbox Code Playgroud)

使用的方法:

private Bitmap createRoundImage(Bitmap loadedImage) {
    Bitmap circleBitmap = Bitmap.createBitmap(loadedImage.getWidth(), loadedImage.getHeight(), Bitmap.Config.ARGB_8888);

    BitmapShader shader = new BitmapShader(loadedImage, Shader.TileMode.CLAMP, Shader.TileMode.CLAMP);
    Paint paint = new Paint();
    paint.setAntiAlias(true);
    paint.setShader(shader);

    Canvas c = new Canvas(circleBitmap);
    c.drawCircle(loadedImage.getWidth() / 2, loadedImage.getHeight() / 2, loadedImage.getWidth() / 2, paint);

    return circleBitmap;
}

private StateListDrawable createStateListDrawable() {
    StateListDrawable stateListDrawable = new StateListDrawable();

    OvalShape ovalShape = new OvalShape();
    ShapeDrawable shapeDrawable = new ShapeDrawable(ovalShape);
    stateListDrawable.addState(new int[] { android.R.attr.state_pressed …
Run Code Online (Sandbox Code Playgroud)

graphics android imageview

6
推荐指数
1
解决办法
4813
查看次数

氧图。如何设置 DateTimeAxis 范围?

我正在使用 OxyPlot 来绘制特定时间范围内的数量。

我使用的 3 个不同时间范围的可能性是:

  • 一天,两天到31天,1年到4年。

  • 某一天,情节总是必须显示 0 到 24 小时。

  • 对于两天到 31 天,我想设置例如第一天,比如 1 月 1 日,然后在下一个 1 月 15 日和最后一个 1 月 30 日。

对于一年到 4 年的时间,我想设置 4 个刻度,例如 2011 2012 2013 2014。

这是否可以通过设置开始和结束时间以及间隔和字符串格式以某种方式实现?

可以设置开始时间和结束时间吗?

oxyplot

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

x86_64 上的原子 16 字节操作

以下 16 字节原子操作是否正确实现?还有更好的选择吗?

typedef struct {
    uintptr_t low;
    uintptr_t high;
} uint128_atomic;


uint128_atomic load_relaxed(uint128_atomic const *atomic)
{
    uint128_atomic ret;
    asm volatile("xor %%eax, %%eax\n"
                 "xor %%ebx, %%ebx\n"
                 "xor %%ecx, %%ecx\n"
                 "xor %%edx, %%edx\n"
                 "lock; cmpxchg16b %1"
                 : "=A"(ret)
                 : "m"(*atomic)
                 : "cc", "rbx", "rcx");
    return ret;
}

bool cmpexch_weak_relaxed(
    uint128_atomic *atomic,
    uint128_atomic *expected,
    uint128_atomic desired)
{
    bool matched;
    uint128_atomic e = *expected;
    asm volatile("lock; cmpxchg16b %1\n"
                 "setz %0"
                 : "=q"(matched), "+m"(atomic->ui)
                 : "a"(e.low), "d"(e.high), "b"(desired.low), "c"(desired.high)
                 : "cc");
    return matched;
} …
Run Code Online (Sandbox Code Playgroud)

c x86-64 inline-assembly

5
推荐指数
1
解决办法
1874
查看次数