小编wir*_*d00的帖子

将项目导入Android Studio有关ActionBarSherlock的问题

是否有其他人在导入项目时遇到问题ActionBarSherlock?我总共有100个错误和17个警告.这非常有效Eclipse.我按照步骤创建了Gradle构建文件.在我尝试构建项目之前没有导入错误.

我也尝试重新下载ABS新鲜并替换到我的项目中.

ABS是否存在已知问题IntelliJ?(当然Android Studio现在基于哪个)

以下是我看到的一些错误:

        java: ...
        Workspace/ActionBarSherlock/src/com/actionbarsherlock/app/SherlockFragment.java:4: cannot find symbol
        symbol  : class Fragment
        location: package android.support.v4.app

        java: ...  Workspace/ActionBarSherlock/src/com/actionbarsherlock/app/SherlockListFragment.java:4: cannot find symbol
        symbol  : class ListFragment
        location: package android.support.v4.app

        java: ...
        Workspace/ActionBarSherlock/src/com/actionbarsherlock/widget/SuggestionsAdapter.java:33:
        package android.support.v4.widget does not exist
Run Code Online (Sandbox Code Playgroud)

任何帮助真的很感激

编辑:似乎使用标准IntelliJ IDEA没有问题.许多在线指南用于设置ABS.正如杰克所说,他实际上是在开发IntelliJ中的东西

以下是一个示例指南:http: //android-wtf.com/2012/09/how-to-configure-actionbarsherlock-with-intellij-idea/

但是,我仍然不确定为什么它不适用于Android Studio

Edit2:下面的答案中的解决方案.简而言之:(我下载了abs最新版本,解压缩,abs从我的项目中删除旧版本,然后file > import module...actionbarsherlock目录导入我现有的项目.Nb,在我的特殊情况下我遇到了junit编译错误的问题,需要删除\ test\junit \)

java android intellij-idea actionbarsherlock android-studio

27
推荐指数
2
解决办法
3万
查看次数

月,星期,星期标题栏按钮点击回调?

当用户点击,日/周/月按钮时,我需要运行一些javascript代码来重新加载日历.有没有像dayButtonClicked()之类的回调?

发生BUG:

当我第一次加载日历.初始视图看起来很好,我最初加载一天.只要我加载另一个视图,如周.每个条目都是重复的,并显示两个数据源.如果我再次点击日和月之间的数据,则数据恢复正常.发生的事情是,在每天点击一次后首次加载新视图时,不会调用removeEventSource.你见过这件事吗?

<script type='text/javascript'>

    $(document).ready(function() {

        var date = new Date();
        var d = date.getDate();
        var m = date.getMonth();
        var y = date.getFullYear();
        var loadUrl = "menu_booking.php?ne=1&calsub=1";
        var lastView;
        var fullSource = "../fullcalendar/json-events.php?idc=<?= $sClient ?>&v=long";
        var liteSource = "../fullcalendar/json-events.php?idc=<?= $sClient ?>";

        $('#calendar').fullCalendar({
            header: {
                left: 'prev,next today',
                center: 'title',
                right: 'month,agendaWeek,agendaDay'
            },
            columnFormat: {
                month: 'ddd',
                week: 'ddd d/M',
                day: 'dddd d/M'
            },          
            defaultView: 'agendaDay',           
            firstDay: 1,            
            //editable: true,
            selectable: true,
            allDaySlot: false,
            firstHour: 7,




            viewDisplay: function(view) {
                if …
Run Code Online (Sandbox Code Playgroud)

html javascript javascript-events fullcalendar

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

getRealPathFromURI()不使用基于ICS和Picasa的图像

我正在尝试获取图像的本地路径,以便将其上传到服务器.当使用pre ICS时,它将通过Android设备获得标准路径getRealPathFromURI(theURI)

但是,ICS URI将包含uriString如下内容:content://com.google.android.gallery3d.provider/picasa/item/12312312312312.

并运行getRealPathFromURI(theURI)返回null

我现在需要提取以上内容uriString并通过API手动下载图像(如果我检测到它是Picasa图库图像)而不是本地存储的图像吗?还是我完全错过了什么?

谢谢你的建议

编辑:

好像我在寻找错误的问题......

在下面的链接中发现了这个问题......这正是我所期望的,我需要做的事情.相当恼人的谷歌/ android没有更优雅地处理这个.

要正确处理从图库中提取图像,您需要处理三种情况:

  1. 用户选择了本地图像文件

  2. 用户选择了Picasa图像,设备正在运行3.0之前的Android版本

  3. 用户选择了Picasa图片,设备正在运行Android 3.0及更高版本

http://dimitar.me/how-to-get-picasa-images-using-the-image-picker-on-android-devices-running-any-os-version/

android picasa android-gallery

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

MediaRecorder - setOrientationHint() 异常/失败

MediaRecorder几周来我一直试图通过打开和关闭视频旋转来解决这个问题。我无法让该线路setOrientationHint(90)在运行的实体 Samsung Galaxy S1 上运行Android 2.3.3( SDK 10)。这应该可以在上面的任何内容上运行良好SDK 9

当我打电话时,setOrientationHint(90)我得到一个例外:setParameters(video-param-rotation-angle-degrees=90) failed。详细错误详情如下。

因此,我被迫检查 SDK,并且仅setOrientationHint()在 SDK>10 时调用。也就是说,这段代码在我测试过的 10 以上的所有其他 SDK 版本上都可以正常工作。我已经在 Samsung Galaxy Nexus 上进行了测试4.2.2,运行良好。

这是我的代码:(删减以显示调用顺序MediaRecorder

mCamera = getCameraInstance();

mCamera.setPreviewDisplay(holder);

mMediaRecorder = new MediaRecorder();
mMediaRecorder.setOrientationHint(90);

// Step 1: Unlock and set camera to MediaRecorder
mCamera.unlock();
mMediaRecorder.setCamera(mCamera);

// Step 2: Set sources
mMediaRecorder.setAudioSource(MediaRecorder.AudioSource.CAMCORDER);
mMediaRecorder.setVideoSource(MediaRecorder.VideoSource.CAMERA);

// Step 3: recording setup
mMediaRecorder.setOutputFormat(MediaRecorder.OutputFormat.MPEG_4);
mMediaRecorder.setVideoSize(720,480);
mMediaRecorder.setVideoFrameRate(15);
mMediaRecorder.setVideoEncoder(MediaRecorder.VideoEncoder.H264);
mMediaRecorder.setAudioEncoder(MediaRecorder.AudioEncoder.AAC);

// …
Run Code Online (Sandbox Code Playgroud)

java video android mediarecorder

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

Ruby中Set的数组join()的等价物?

是否有一个等价array join()SetRuby?或者最好只是在Set类中修补我自己?

http://ruby-doc.org/stdlib-2.2.2/libdoc/set/rdoc/Set.html

ruby arrays set

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

从TabHost中删除选项卡及其内部的活动(意图)

我有一个可以动态创建标签的应用程序.当我创建一个标签时,我会发起一个活动作为意图.像这样:

private void addTab(Context packageContext, Class<?> newClass, TabHost mTabHost, String tabId, String tabLabel){
    // newClass is my Activity class that I want to start in the tab
    Intent intent = new Intent().setClass(packageContext, newClass);
    TabHost.TabSpec spec;
    spec = mTabHost.newTabSpec(tabId).setIndicator(tabLabel)
                  .setContent(intent);
    mTabHost.addTab(spec);
    mTabHost.setCurrentTabByTag(tabId);
}
Run Code Online (Sandbox Code Playgroud)

很标准.而且效果很好.现在,假设我在我的选项卡中实例化的活动中有一个按钮(或menuitem,无论如何).当用户按下此按钮时,我希望删除和销毁活动及其所在的选项卡.

我似乎无法找到一种简单的方法来做到这一点.我找到了TabHost.clearAllTabs()函数,但这会破坏所有标签和活动,我只想删除一个.

有人建议我保存我打开的所有Tabs的列表,然后调用clearAllTabs(),之后我重新创建除了我不想要的所有其他选项卡.

像这样的东西:

public static ArrayList<TabHost.TabSpec> list = new ArrayList<TabHost.TabSpec>();
Run Code Online (Sandbox Code Playgroud)

我将此行添加到我的addTab()函数中,以便我创建的每个选项卡都记在我的ArrayList中:

list.add(spec);
Run Code Online (Sandbox Code Playgroud)

然后,当我想删除我的标签时,我运行此功能:

public static void removeTab(){
    list.remove(list.size()-1); // remove it from memory
    mTabHost.clearAllTabs();  // clear all tabs from the tabhost
    for(TabHost.TabSpec spec : list) // add …
Run Code Online (Sandbox Code Playgroud)

android android-tabhost

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

如何为每个视图加载不同的事件源(json)?

嗨,我有一个日历,必须为每个视图加载不同的JSON事件源.即,"月"的简短来源(每天最多只有3个单元格),然后是"日"和"周"的更详细的数据来源.

我想我可以在视图加载时捕获并基于哪个视图,调用removeEventSource()删除先前的事件源然后addEventSource()添加当前视图的相关数据并刷新.这是做这样事的唯一方法吗?如果是这样的话......我怎么检测到视图已经完成加载所以我可以调用getView()inturn加载适当的事件源?

我已经看到有loading()回调,但我不认为这是我需要的,我想知道整个日历何时完成加载不仅仅是当前的数据.

谢谢你的帮助

编辑:我能想到的唯一另一种方法是删除DAY/WEEK/MONTH fullcalendar按钮并替换为我自己的重新加载php屏幕的变量附加说&calLoad=month or &calLoad=day我可以加载不同的json feed但这显然是一种不太理想的做事方式.

fullcalendar

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

如何从子包访问主res/layout /文件?

这也是一个设计问题.我不知道设计有很多活动的最佳方法,以及如何在仍然访问应用程序资源的同时将它们分解为包.

我有一个应用程序,允许用户登录和访问选项卡式活动,该活动可以访问许多模块.如果他们单击一个模块,他们将加载该模块,该模块将包含一个选项卡式活动.

目前我在这个应用程序中有3个包:

  • com.appname.app(很多活动我想拆分,登录,模块列表等)
  • com.appname.app.XML(xml处理程序)
  • com.appname.app.Utils(静态工具类等)

我想添加一个新包来包含我的所有模块,就像这样

  • com.appname.app.Modules(甚至是EACH模块的单独包)

但是,我可以不再使用完整的包名称来访问主要的应用程序资源,例如 setContentView(com.appname.app.R.layout.channel_list);

显然,在任何com.appname.app活动中,我只是引用布局等资源setContentView(R.layout.channel_list);.

我原以为子包(子目录)应该可以访问父资源而不必使用com.appname.app.R.layout.channel_list而不是R.layout.channel_list.这就是为什么我假设我的设计出了问题

同样的问题是访问字符串,drawable等资源...

我确定这是我非常缺乏的基础.我已经尝试手动导入"父"包,但这也无效.

这是我应该做的事情吗?或者我应该以某种方式在每个模块包中创建资源文件?还是有另一种方式我应该处理我的应用程序的设计/拆分?

java import resources android package

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