小编Kor*_*rem的帖子

如何在片段的父Activity中访问Fragment的子视图?

我有一个受支持的片段活动,它将加载diff片段.片段有一些textView,id = "score"我希望得到它的句柄,但findViewById得分的textView返回null.为什么这样?


textView放在片段中

public class MyActivity extends  extends ActionBarActivity
        implements NavigationDrawerFragment.NavigationDrawerCallbacks{

   private TextView scoreBoardTextView = null;

   protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
     setContentView(R.layout.activity_home);
     mNavigationDrawerFragment = (NavigationDrawerFragment)
                getSupportFragmentManager().findFragmentById(R.id.navigation_drawer);
     scoreBoardTextView = (TextView) findViewById(R.id.score); //this returns null
  }

    @Override
    public void onNavigationDrawerItemSelected(int position) {
      //set fragment    
    }

}
Run Code Online (Sandbox Code Playgroud)

android android-layout

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

多处理和莳萝可以一起做什么?

我想multiprocessing在Python中使用该库.遗憾地multiprocessing使用pickle不支持闭包,lambdas或函数的函数__main__.所有这三个对我来说都很重要

In [1]: import pickle

In [2]: pickle.dumps(lambda x: x)
PicklingError: Can't pickle <function <lambda> at 0x23c0e60>: it's not found as __main__.<lambda>
Run Code Online (Sandbox Code Playgroud)

幸运的是,有dill一个更健壮的泡菜.显然dill在导入时执行魔术以使泡菜工作

In [3]: import dill

In [4]: pickle.dumps(lambda x: x)
Out[4]: "cdill.dill\n_load_type\np0\n(S'FunctionType'\np1 ...
Run Code Online (Sandbox Code Playgroud)

这非常令人鼓舞,特别是因为我无法访问多处理源代码.可悲的是,我仍然无法得到这个非常基本的例子

import multiprocessing as mp
import dill

p = mp.Pool(4)
print p.map(lambda x: x**2, range(10))
Run Code Online (Sandbox Code Playgroud)

为什么是这样?我错过了什么?究竟是multiprocessing+ dill组合的限制是什么?

JF塞巴斯蒂安的临时编辑

mrockli@mrockli-notebook:~/workspace/toolz$ python testmp.py 
    Temporary Edit for J.F Sebastian

mrockli@mrockli-notebook:~/workspace/toolz$ python testmp.py 
Exception …
Run Code Online (Sandbox Code Playgroud)

python pickle multiprocessing dill

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

将pypeas.Series从dtype对象转换为float,将错误转换为nans

考虑以下情况:

In [2]: a = pd.Series([1,2,3,4,'.'])

In [3]: a
Out[3]: 
0    1
1    2
2    3
3    4
4    .
dtype: object

In [8]: a.astype('float64', raise_on_error = False)
Out[8]: 
0    1
1    2
2    3
3    4
4    .
dtype: object
Run Code Online (Sandbox Code Playgroud)

我本来期望一个允许转换的选项,同时将错误的值(例如那个.)转换为NaNs.有没有办法实现这个目标?

python pandas

24
推荐指数
2
解决办法
9万
查看次数

在Mac OS X上构建Linux内核

我正在做一个修改Linux内核的项目.我有一个桌面Linux机器,我没有问题在它上面构建内核.

但是,我要去旅行,我想继续前进.我只有一台MacBook.当我试图构建Linux内核时,它抱怨说elf.h was not found.

我从互联网上下载了一个elf.h.现在它抱怨:NO ELF

我尝试/usr/include从Linux桌面复制整个,并将其设置为include目录,但仍然会出现奇怪的错误"u8" not declared

在Mac上进行内核开发的标准方法是什么?我有一台在同一台Mac上运行Linux的虚拟机,它将用于测试修改后的内核.但是,我真的不想在它上面构建内核,因为它有点慢.

linux macos kernel elf

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

Matplotlib:从右到左书写(希伯来语,阿拉伯语等)

我正在尝试在我的情节中添加一些文本,即RTL(在本例中为希伯来语).经过一些工作设法让它显示文本,但它显示LTR(意思是,以崇敬的顺序).我已经挖掘了参考资料并在网上进行了广泛的搜索,没有任何结果.

我正在使用的一个例子:

import matplotlib.pyplot as plt
plt.text(0.5, 0.5, u'???? ???? ?', name = 'Arial')
plt.show()
Run Code Online (Sandbox Code Playgroud)

它显示'אהתיכםלוש'.如果你看不到希伯来语,就好像我输入'Hello',输出就是'olleH'.

我不能简单地反转输入,因为它是混合LTR和RTL.

我们将不胜感激.

python matplotlib hebrew right-to-left

16
推荐指数
3
解决办法
4137
查看次数

package.json必须是实际的JSON,而不仅仅是JavaScript

我使用http://jsonlint.com/来检查这个package.json文件的语法

{
  "name": "hello-world",
  "description": "hello world test app",
  "version": "0.0.1",
  "private": true,
  "dependencies": {
    "express": “4.6.1"
  }
}
Run Code Online (Sandbox Code Playgroud)

它返回错误

Parse error on line 7:
...        "express": “4.6.1"  }}
----------------------^
Expecting 'STRING', 'NUMBER', 'NULL', 'TRUE', 'FALSE', '{', '['
Run Code Online (Sandbox Code Playgroud)

不知道这有什么问题.终端正在抛出使用npm install的错误

"Failed to parse package.json data.
npm ERR! package.json must be actual JSON, not just JavaScript."
Run Code Online (Sandbox Code Playgroud)

json node.js npm express

16
推荐指数
4
解决办法
3万
查看次数

Python Pandas:使用Arguments将多个函数传递给agg()

我正在努力弄清楚如何为pandas的dataframe.agg()功能组合两种不同的语法.拿这个简单的数据框:

df = pd.DataFrame({'A': ['group1', 'group1', 'group2', 'group2', 'group3', 'group3'],
                   'B': [10, 12, 10, 25, 10, 12],
                   'C': [100, 102, 100, 250, 100, 102]})

>>> df
[output]
        A   B    C
0  group1  10  100
1  group1  12  102
2  group2  10  100
3  group2  25  250
4  group3  10  100
5  group3  12  102
Run Code Online (Sandbox Code Playgroud)

我知道你可以发送两个函数agg()并获得一个新的数据框,其中每个函数都应用于每一列:

df.groupby('A').agg([np.mean, np.std])

[output]
           B                C            
        mean        std  mean         std
A                                        
group1  11.0   1.414214   101    1.414214
group2  17.5  10.606602   175  106.066017
group3 …
Run Code Online (Sandbox Code Playgroud)

python pandas

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

Matplotlib:将y-ticks左对齐

我有可变长度的刻度标签,我想将它们对齐到左边(即在较短的轴和y轴之间有一个空格).有没有合理的方法来做到这一点?使用水平对齐"左"将它们对齐到左侧,但它们都从轴开始,因此它们最终在图中.所以另一个问题可能是 - 我可以改变他们的出发点吗?

示范代码:

import numpy as np
import matplotlib.pyplot as plt

ticks = ["Lorem ipsum dolor sit amet, consectetur adipisicin", "g elit, sed do",      "eiusmod tempor incididunt ut labo", "re et dolore magna ali", "qua. Ut en", "im ad minim veniam, quis nostr", "ud exercitation ullamco labo", "ris nisi ut aliquip ex ea c", "ommodo co", "nsequat. Duis aute irure dolor in rep"]
data = [5,1,2,4,1,4,5,2,1,5]
ind = np.arange(len(data))
fig = plt.figure()
ax = plt.subplot(111)
ax.barh(ind, data, 0.999)
ax.set_yticks(ind …
Run Code Online (Sandbox Code Playgroud)

python matplotlib

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

python:lib/site-packages/site.py和lib/site.py之间的相互作用

由于我设法解决的一个特定问题,我今天花了大部分时间来弄清楚site.py是如何工作的.有一点我不明白.

据我所知,当加载python时,首先lib/python2.7/site-packages/site.py运行.它会过去PYTHONPATH,搜索lib/python2.7/site.py并导入它.此文件具有以下addsitedir方法:不仅可以添加路径sys.path,还可以处理*.pth存在于其中的文件.此时,main()来自lib/python2.7/site.py运行,并addsitedir在站点包和用户站点包上运行.

现在是奇怪的部分.现在我们回到lib/python2.7/site-packages/site.py,它遍历pythonpath中的每条路径,并addsitedir在其上运行.我觉得这很奇怪有两个原因:

  1. addsitedir跑了lib/python2.7/site-packages两次.
  2. 这本身并不是很糟糕(没有任何东西可以添加到sys.path两次),但似乎lib/python2.7/site.py有一种机制允许雄心勃勃的用户sys.path通过实现一个usercustomize模块进行操作(嘿,它甚至在文档中).显然,当您实现这样的机制时,您希望确保用户最后进入,这样他就可以控制添加的所有内容sys.path.但这不是这种情况(因为我很难找到).最有可能的是,第二次调用lib/python2.7/site-packages将覆盖所有内容usercustomize.

我知道这很糟糕,但我添加了一个打印声明addsitedir,打印它收到的路径,所以我可以显示正在发生的事情.这些是处理的路径:

/home/user/.local/lib/python2.7/site-packages #lib/python2.7/site.py
/home/user/py/lib/python2.7/site-packages     #lib/python2.7/site.py
#This is where your usercustomize runs
#Followin calls are from lib/python2.7/site-packages/site.py
/home/user/py/lib/python2.7/site-packages/numpy-1.9.0-py2.7-linux-x86_64.egg
/home/user/Develop/Python/myproject
/home/user/lmfit-0.7.2
/home/user/py/lib/python2.7/site-packages #NOTE: this runs a second time
Run Code Online (Sandbox Code Playgroud)

那我在这问什么呢?:)

答:我很欣赏为什么需要第二次调用site-packages的见解.

B. usercustomize确实有限,因为我认为这是由于这种实施?考虑到这一点,你如何实现从sys.path中删除 …

python linux sys.path python-2.7

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

在SSE __m128i寄存器中置换字节

我有以下问题:

__m128i寄存器中,按以下顺序排列有16个8位值:

[ 1, 5, 9, 13 ] [ 2, 6, 10, 14] [3, 7, 11, 15]  [4, 8, 12, 16]
Run Code Online (Sandbox Code Playgroud)

我想要实现的是有效地改组字节以获得这种排序:

[ 1, 2, 3, 4 ] [ 5, 6, 7, 8] [9, 10, 11, 12]  [13, 14, 15, 16]
Run Code Online (Sandbox Code Playgroud)

它实际上类似于4x4矩阵转置,但在一个寄存器内的8位元件上运行.

您能不能指出哪种SSE(优先<= SSE2)指令适合实现这一点?

optimization sse simd

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