小编Dea*_*ely的帖子

使用viewpager的最佳方式

我有一个工作的viewpager示例,使用我从教程中获得的代码.该教程由Lauren Darcey和Shane Conder编写,他们显然是专家(我是Android新手).代码粘贴在下面.当用户水平滑动时,此代码正在做的是膨胀(前进)和销毁(后面).只有5页.似乎将它们全部膨胀会更聪明,然后让用户进行所有刷卡而不进行充气/破坏.就像它是一个大的宽页面(例如Windows Phone 7中的Panarama和Pivot控件).

此外,如果其中一个页面上有谷歌地图,则此代码会爆炸.它吹响了第二次通货膨胀(不知道为什么),如果它们只是一次充气就不会发生这种情况.

是否有必要以这种方式完成的原因?按照我建议的方式有没有可用的例子?谢谢,加里布莱克利

    private class MyPagerAdapter extends PagerAdapter {

    public int getCount() {
        return 5;
    }

    public Object instantiateItem(View collection, int position) {

        LayoutInflater inflater = (LayoutInflater) collection.getContext()
                .getSystemService(Context.LAYOUT_INFLATER_SERVICE);

        int resId = 0;
        switch (position) {
        case 0:
            resId = R.layout.farleft;
            break;
        case 1:
            resId = R.layout.left;
            break;
        case 2:
            resId = R.layout.middle;
            break;
        case 3:
            resId = R.layout.right;
            break;
        case 4:
            resId = R.layout.farright;
            break;
        }

        View view = inflater.inflate(resId, null);

        ((ViewPager) collection).addView(view, 0);

        return …
Run Code Online (Sandbox Code Playgroud)

android android-viewpager

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

消息处理程序和WeakReference问题

以下消息处理程序可以很好地从我的服务接收消息...

private  Handler handler = new Handler() 
{

    public void handleMessage(Message message) 
    {
        Object path = message.obj;

        if (message.arg1 == 5 && path != null)  //5 means its a single mapleg to plot on the map
        {
            String myString = (String) message.obj;
            Gson gson = new Gson();
            MapPlot mapleg = gson.fromJson(myString, MapPlot.class);
            myMapView.getOverlays().add(new DirectionPathOverlay(mapleg.fromPoint, mapleg.toPoint));
            mc.animateTo(mapleg.toPoint);

        }
        else
        {
            if (message.arg1 == RESULT_OK && path != null) 
            {
                Toast.makeText(PSActivity.this, "Service Started" + path.toString(), Toast.LENGTH_LONG).show();
            } 
            else 
            {
                Toast.makeText(PSActivity.this,"Service error" + …
Run Code Online (Sandbox Code Playgroud)

android memory-leaks android-handler

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

降低双倍的准确性

我发现谷歌搜索的所有内容都表明,以下任何一种方法都会将双倍减少到两位小数.

double roundToFourDecimals(double d)
{
    DecimalFormat twoDForm = new DecimalFormat("#.##");
    double myD = Double.valueOf(twoDForm.format(d));
    return myD;
}

double nextLon = (double)Math.round(bnextLon * 100.0) / 100.0;
Run Code Online (Sandbox Code Playgroud)

但这对我都不起作用.double的值是3.3743984E7,结果是相同的.怎么了?

java android

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

如何摆脱Eclipse空白字符

可能重复:
Eclipse:我打开了隐藏的字符,现在我无法关闭

我使用Eclipse(3.72)开发Android应用程序.我不小心碰到了键盘上的东西,现在有这些浅灰色的格式化字符显示.他们非常分心.我到处都可以想到如何摆脱它们.

我在编辑器中恢复默认值无济于事.我在谷歌上搜索只是为了找到reccos"取消选中删除空白字符",但这不是找到的地方.

救命!谢谢,加里

eclipse

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

如何从我的手机获取.apk来恢复我的源文件

我在Eclipse中将一个.java文件从一个项目导入到另一个项目.在这样做的过程中,Eclipse从源项目中删除了所有的.java文件和我的.apk文件.我知道我可以从.apk文件重建它们,但目前唯一的一个是在我的LG手机上.

如何将手机上的.apk从手机上取下来?我是否必须将手机设为root才能看到Data文件夹?我有Android文件管理器,但我没有看到如何上传到电脑.谢谢,加里

android root apk

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

使用Handler作为计时器但无法停止

我在2011年在该论坛上的帖子中发现了以下粘贴的代码。我使用计时器触发doSomeWork的执行,但doSomeWork产生了一个asynctask,并且(如我所知)asynctasks只能从UI线程中产生。因此,我转换为使用Handler的postDelayed函数。

现在,此代码确实每十秒钟调用一次doSomeWork,而我的asynctask不再有问题。但是,当我调用stopRepeatingTask()时,它不会停止doSomeWork的执行-它会每十秒钟不断地被调用。

此代码在服务中,已经调用了stopSelf(),但代码仍在运行。Android系统甚至没有将服务显示为正在运行,但仍在调用doSomeWork。

怎么了?我该如何阻止它?谢谢,加里

private int m_interval = 5000; // 5 seconds by default, can be changed later
private Handler m_handler;

@Override
protected void onCreate(Bundle bundle) {
  // ...
  m_handler = new Handler();
}

Runnable m_statusChecker = new Runnable() {
     @Override 
     public void run() {
          doSomeWork(); //this function can change value of m_interval.
          m_handler.postDelayed(m_statusChecker, m_interval);
     }
};

void startRepeatingTask() {
    m_statusChecker.run(); 
}

void stopRepeatingTask() {
    m_handler.removeCallbacks(m_statusChecker); //  <--this does not appear to work
}
Run Code Online (Sandbox Code Playgroud)

multithreading android handler

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

什么是5.0许可错误的最佳解决方案?

所以我的所有应用程序在5.0上运行时都会遇到此异常...

java.lang.IllegalArgumentException:Service Intent必须是显式的:Intent {act = com.android.vending.licensing.ILicensingService}

谷歌搜索后,我发现这是由LicenseChecker.java中的Google Licensing代码中的错误引起的,但建议的更改有点不同,所以我不知道该怎么做.它让我感到震惊,我们应该为Googles代码制作mod.

我的LicenseChecker.java中的可疑代码是......

        Log.i(TAG, "Binding to licensing service.");
        try {
            boolean bindResult = mContext
                    .bindService(
                            new Intent(
                                    new String(
                                            Base64.decode("Y29tLmFuZHJvaWQudmVuZGluZy5saWNlbnNpbmcuSUxpY2Vuc2luZ1NlcnZpY2U="))),
                            this, // ServiceConnection.
                            Context.BIND_AUTO_CREATE);
Run Code Online (Sandbox Code Playgroud)

我们应该补充一下

serviceIntent.setPackage("com.android.vending");
Run Code Online (Sandbox Code Playgroud)

代码中的某个地方.

所以我的问题是(1)这真的是修复吗?(2)如果是这样,修改后的代码到底应该是什么样的?谢谢,迪恩

android android-lvl android-5.0-lollipop

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

Android Studio 生成的中间件文件夹

我有一个相当大的 viewpager 应用程序,我想将其重新设计为 Material Design。我使用 Android Studio 创建了一个全新的应用程序,该应用程序除了演示有效的 viewpager、选项卡和 Material Design 之外什么都不做。新应用的外观正是我想要的。

检查新应用程序时,我发现 AS 在启用 Material Design 的中间目录中生成了大量有用的资源代码。因此,AS 首先根据我在“新项目”过程中的选择生成 src/ 代码,然后该代码中的某些内容导致构建过程生成所有这些有用的 Material Design 支持代码。

例如,生成的应用程序有一个以...开头的样式 xml。

<style name="AppTheme" parent="Theme.AppCompat.Light.DarkActionBar">
Run Code Online (Sandbox Code Playgroud)

如果你在 DarkActionBar 上按 ctrl-b 它会跳转到一个巨大的文件。. .

C:\Users\Gary\AndroidstudioProjects\MDShell\app\build\intermediates\exploded-aar\com.android.support\appcompat-v7\23.3.0\res\values\values.xml
Run Code Online (Sandbox Code Playgroud)

包含定义。我希望构建过程为我的应用程序执行相同的生成。

编辑:这是我的问题的答案......一旦我在gradle中包含以下两行,我需要的一切都会在我的应用程序中生成

编译'com.android.support:appcompat-v7:23.3.0' 编译'com.android.support:design:23.3.0'

android android-studio material-design

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