我有一个关于片段中上下文用法的问题.我的问题是我总是得到一个NullpointerException.这是我做的:
创建一个扩展SherlockFragment的类.在那个类中,我有另一个Helper类的实例:
public class Fragment extends SherlockFragment {
private Helper helper = new Helper(this.getActivity());
// More code ...
}
Run Code Online (Sandbox Code Playgroud)
以下是其他Helper类的摘录:
public class Helper {
public Helper(Context context) {
this.context = context;
}
// More code ...
}
Run Code Online (Sandbox Code Playgroud)
每次我调用context.someMethod(例如context.getResources())我都会得到一个NullPointerException.这是为什么?
比如你想安装Inkscape.您可以通过从inkscape网站下载应用程序或通过Homebrew下载来安装它.
这两种方法的优点和缺点是什么?如果我通过Homebrew安装它,Inkscape的行为就像一个普通的应用程序,例如它会显示在应用程序文件夹中吗?
我试图在char数组中存储一个整数.我怎样才能做到这一点?这是我的方法(通过将其转换int为a char),但它不起作用.我错过了什么?
#include <stdio.h>
int main(int argc, char** argv)
{
char cArray[10] = {};
// Store a character in the char array
cArray[5] = 'c';
printf("%c\n", cArray[5]);
// Store an integer in the char array
cArray[6] = (char) 0; // WHY DOES THIS NOT WORK???
printf("%c\n", cArray[6]);
}
Run Code Online (Sandbox Code Playgroud) 我真的很难onCreateOptionsMenu在我的Sherlock片段中设置方法,因为我通常不会那么多地使用Sherlock片段.有人能说出我要导入的内容以及实现的工作原理吗?
我有一些代码:
public class MyFragment extends SherlockFragment {
@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container,
Bundle savedInstanceState) {
View rootView = inflater.inflate(R.layout.custom_list, container, false);
// SOME CODE ...
return rootView;
}
@Override
public boolean onCreateOptionsMenu(Menu menu) {
// ???
}
}
Run Code Online (Sandbox Code Playgroud) 我只是设置了一个非常基本的相机预览,可以全屏显示相机.我比较了我的应用程序和Android相机的平滑度,并认为Android相机看起来更顺畅.
为什么会这样?是否有任何特殊技巧可以改善相机预览性能?
我只是想知道在android中的几个活动中处理数据的更好方法是什么.
假设我有两个活动,A和B,持有一些观点.首先,我从SQL数据库加载一些数据并在A中膨胀视图.现在,我想启动活动B,它使用与A相同的数据集.
最好是通过Intent(putExtra())传递数据然后给视图充气,还是最好再次查询数据库然后膨胀.
我不确定,因为这两种方法似乎都有其缺点:
有人可以就什么是最佳做法给我一些建议吗?
我正在使用视图寻呼机来显示两个片段.一个片段包含摄像头预览,另一个片段只是一个简单的列表视图.
问题是,整个滑动体验并不像应该的那样顺畅.我想这是因为UI线程必须同时处理视图寻呼机,摄像机和列表视图.
现在,我能做些什么呢?我可以在后台线程中运行什么?我可以在后台运行视图寻呼机吗?
正如在处理相机的Android文档中所指出的,建议使用单独的线程来打开相机.
好吧,我这样做但确实遇到了一些困难:
对于我的相机对象,我使用的是全局实例变量.现在,当我启动我的应用程序时,我创建了一个单独的线程,onResume()并在该线程中对该相机对象执行所有初始化.
后来当我离开应用程序时,我将相机放入onPause().这一切都很好.
但问题是:当我做了一些压力测试和切换非常快之间onResume()并onPause()(通过点击多任务按钮过快),我的应用程序崩溃.原因是有一个Method called after release().
这是有道理的,因为可能会释放相机,onPause()但同时线程尚未完成其初始化.因此,线程尝试对已经释放的相机对象进行调用.
现在,我该怎么做才能解决这个问题?也许不使用全球相机对象?或者我该如何使这个线程安全?
我拼命尝试在Windows计算机上安装GTKWave。任何人都可以给我这样的提示,或者将我重定向到一个好的教程(甚至更好的是,在此处发布一个小教程)?
我认为文档不是最新的,因为它说可以通过Cygwin获得GTKWave,但事实并非如此。
说我有一个创建对象的类,并使用静态变量跟踪对象的数量.像这样的东西:
public class Apple {
private static int count = 0;
public Apple () {
count++;
}
public void removeApple() {
count--;
}
}
Run Code Online (Sandbox Code Playgroud)
当我使用FindBugs检查此代码时,我收到了警告Write to static field from instance method,当然这很明显.
我如何解决这个问题,使它更安全,甚至摆脱FindBugs警告?