小编Ada*_*dam的帖子

将解析信息添加到Robolectric包管理器

这个问题非常类似于我想要做的事情:如何用Robolectric来影响PackageManager

但是,所有答案都依赖于ShadowApplication.setPackageManager().在2.2中,这种方法似乎不再存在:http://robolectric.org/javadoc/org/robolectric/shadows/ShadowApplication.html

我试图抓住包管理器并添加解析信息:

    RobolectricPackageManager packageManager = (RobolectricPackageManager) Robolectric.application.getPackageManager();
    Intent intent = new Intent(Intent.ACTION_MAIN,null);
    intent.addCategory(Intent.CATEGORY_HOME);
    ResolveInfo ri = new ResolveInfo();
    ActivityInfo ai = new ActivityInfo();
    ai.packageName = "com.fun.test";
    ri.activityInfo = ai;
    ri.isDefault = true;
    packageManager.addResolveInfoForIntent(intent, ri);
Run Code Online (Sandbox Code Playgroud)

但无济于事.有谁知道如何做到这一点?

android unit-testing robolectric

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

如何删除带有actionbar,viewpager和多个片段的选项卡?

我正在使用我在这里找到的代码.

public class ActionBarTabs extends SherlockFragmentActivity {
CustomViewPager mViewPager;
TabsAdapter mTabsAdapter;
TextView tabCenter;
TextView tabText;
@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    getWindow().setFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN,
            WindowManager.LayoutParams.FLAG_FULLSCREEN);

    mViewPager = new CustomViewPager(this);
    mViewPager.setId(R.id.pager);

    setContentView(mViewPager);
    ActionBar bar = getSupportActionBar();
    bar.setNavigationMode(ActionBar.NAVIGATION_MODE_TABS);
    bar.setDisplayOptions(0, ActionBar.DISPLAY_SHOW_TITLE);

    mTabsAdapter = new TabsAdapter(this, mViewPager);

    mTabsAdapter.addTab(bar.newTab().setText("Home"),
            ToolKitFragment.class, null);
    mTabsAdapter.addTab(bar.newTab().setText("FujiSan"),
            FujiFragment.class, null);
}

public static class TabsAdapter extends FragmentPagerAdapter implements
        ActionBar.TabListener, ViewPager.OnPageChangeListener {
    private final Context mContext;
    private final ActionBar mActionBar;
    private final ViewPager mViewPager;
    private final ArrayList<TabInfo> mTabs = new ArrayList<TabInfo>(); …
Run Code Online (Sandbox Code Playgroud)

android android-fragments android-viewpager actionbarsherlock

5
推荐指数
2
解决办法
8839
查看次数

无论如何,.framework产品都是红色的

我正在尝试将此框架添加到项目中.我按照这些指示写了这封信:

  1. 将SocketRocket.xcodeproj添加为应用程序的子项目或工作区中.
  2. 将SocketRocket.framework添加到链接库
  3. 如果您没有Framework的"复制文件"步骤,请创建一个
  4. 将SocketRocket.framework添加到"复制文件"步骤.

我确定只打开了一个xcode实例,然后将SocketRocket.xcodeproj文件拖到我的项目中.我将.framework文件添加到链接库,创建了一个复制文件构建阶段,然后将.framework添加到复制文件构建阶段.

这是我尝试构建时遇到的错误:

clang:错误:没有这样的文件或目录:'/ Users/adamhickey/Library/Developer/Xcode/DerivedData/websockettest -fcuhfltporfkitgubwcjukxogzas/Build/Products/Debug-iphonesimulator/SocketRocket/SocketRocket'

这是非常正确的:该目录不存在.

在构建阶段,SocketRocket.framework在Link Binary With Libraries下是红色的.它在SocketRocket子项目的products文件夹中也是红色的.

我一直在谷歌搜索这个错误几个小时,我尝试过的大多数事情都指向我改变Xcode-> preferences-locations中的构建位置.我试过了:

  1. 把它设置为亲戚,选择我自己,然后进入高级并选择遗产.
  2. 建设一个设备
  3. 构建 - >归档
  4. 建设发布

如果我在一个单独的xcode实例中打开SocketRocket.xcodeproj并尝试构建它,那么这四个产品中有3个是红色的.产品包括:libSocketRocket.a,SRWebSocketTests.octest,TestChat.app和SocketRocket.framework.第一个是白色,而后三个是红色.

我假设如果我可以在单独的项目中构建.framework文件,这将解决我的整体问题.但是,我所做的一切似乎都没有任何效果.

请帮忙!我正在使用xcode 4.6.

xcode frameworks ios xcode4 socketrocket

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

R.id.pager?这定义在哪里?

对于viewpager的例子,在这里,包含线路:

    mViewPager = new ViewPager(this);
    mViewPager.setId(R.id.pager);
Run Code Online (Sandbox Code Playgroud)

我不明白R.id.pager是如何定义的.我应该在某个地方用xml创建一个viewpager吗?但这没有意义,因为它在前一行中实例化了一个viewpager.如果有人能为我清除这一点,我将非常感激!

谢谢!!

编辑

显然将线路更改为:

mViewPager.setId(1);
Run Code Online (Sandbox Code Playgroud)

使它工作:) :)

android android-layout

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