使用Eclipse时,我发现自己多次键入Ctrl + Shift + O,以组织导入(通常是不再需要的导入,生成警告).
有没有办法让Eclipse每隔一段时间组织一次我的导入,或者至少每次我保存一个文件?
假设我有一个value,我通常会这样做"钳制"它到一个范围,这里是范围[0..1].也就是说,如果它低于范围开始,则将其增加到范围开始,将其增加到范围结束,将其减小到范围结束.
clampedValue = Math.max(0, Math.min(1, value));
Run Code Online (Sandbox Code Playgroud)
是否有内置功能可以夹紧到一个范围内?
任何人都可以帮我找出这个程序可能存在的问题.在该onCreate()方法中,findViewById()对所有id返回null,这会在以后导致空指针异常.我无法弄清楚为什么findViewById()找不到这个视图.有什么建议?
这是主要代码:
public class MainActivity extends Activity {
ViewPager pager;
MyPagerAdapter adapter;
LinearLayout layout1, layout2, layout3;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
layout1 = (LinearLayout) findViewById(R.id.first_View);
layout2 = (LinearLayout) findViewById(R.id.second_View);
layout3 = (LinearLayout) findViewById(R.id.third_View);
adapter = new MyPagerAdapter();
pager = (ViewPager) findViewById(R.id.main_pager);
pager.setAdapter(adapter);
}
private class MyPagerAdapter extends PagerAdapter
{
@Override
public int getCount() {
return 3;
}
@Override
public Object instantiateItem(ViewGroup collection, int position) {
LinearLayout l = null;
if (position …Run Code Online (Sandbox Code Playgroud) 显然,有些时候#defines必须有括号,如下:
#define WIDTH 80+20
int a = WIDTH * 2; // expect a==200 but a==120
Run Code Online (Sandbox Code Playgroud)
所以我总是括号,即使它只是一个数字:
#define WIDTH (100)
Run Code Online (Sandbox Code Playgroud)
C的新人问我为什么这样做,所以我试图找到一个边缘情况,在一个数字上没有括号#define会导致问题,但我想不出一个.
这种情况是否存在?
目标:纯画布上的Android> = 1.6.
假设我想编写一个绘制(宽度,高度)大红色矩形的函数,然后在里面绘制一个黑色的Hello World文本.我希望文本在视觉上位于矩形的中心.所以让我们试试:
void drawHelloRectangle(Canvas c, int topLeftX,
int topLeftY, int width, int height) {
Paint mPaint = new Paint();
// height of 'Hello World'; height*0.7 looks good
int fontHeight = (int)(height*0.7);
mPaint.setColor(COLOR_RED);
mPaint.setStyle(Style.FILL);
c.drawRect( topLeftX, topLeftY, topLeftX+width, topLeftY+height, mPaint);
mPaint.setTextSize(fontHeight);
mPaint.setColor(COLOR_BLACK);
mPaint.setTextAlign(Align.CENTER);
c.drawText( "Hello World", topLeftX+width/2, ????, mPaint);
}
Run Code Online (Sandbox Code Playgroud)
现在我不知道在标记为drawText的参数中放什么????,即我不知道如何垂直对齐文本.
就像是
???? = topLeftY + height/2 + fontHeight/2 - fontHeight/8;
似乎或多或少有效,但必须有更好的方法.
我有一个ImageView,当它添加到布局时会动画.当它被删除时,我想要反转相同的动画.
有没有办法在没有重新编码和反转参数的情况下在Android中反转动画?
我JNIEnv在全局存储,所以我稍后可以调用静态java方法.但是存储一个全局指针是否是必要的JNIEnv,它们可以与任何其他java对象一起存储,或者它是一个不需要它的特殊情况.
JNIEnv* globalEnvPointer;
[JNICALL etc] void init(JNIENv* env, [etc])
{
//required?
globalEnvPointer = (JNIENv*) (env*)->GetGlobalRef(env, env);
//or is this OK?
globalEnvPointer = env;
}
Run Code Online (Sandbox Code Playgroud)
编辑
我在这里有点愚蠢,将使用的所有方法globalEnvPointer都在我的init中调用,因为我init实际上是我的c程序main方法,直到程序结束才会返回.我也在c程序中没有使用其他线程.我认为这简化了答案.
JNIEnv* globalEnvPointer;
[JNICALL etc] void main(JNIENv* env, [etc])
{
//required?
globalEnvPointer = (JNIENv*) (env*)->GetGlobalRef(env, env);
//or is this OK?
globalEnvPointer = env;
someMethod();
}
void someMethod()
{
//use globalEnvPointer here
}
Run Code Online (Sandbox Code Playgroud) 这个DialogFragment实现导致了
IllegalStateException("你不能设置Dialog的OnCancelListener或OnDismissListener")
.为什么?解?
public class OkCThreadDialog1 extends DialogFragment{
DialogInterface.OnCancelListener onCancelListener;
public OkCThreadDialog1(){
}
public static OkCThreadDialog1 newInstance(String title, String message) {
OkCThreadDialog1 frag = new OkCThreadDialog1();
Bundle args = new Bundle();
args.putString("title", title);
args.putString("message", message);
frag.setArguments(args);
return frag;
}
public Dialog onCreateDialog(Bundle savedInstanceState){
AlertDialog.Builder builder = new AlertDialog.Builder(getActivity());
builder .setTitle(getArguments().getString("title"))
.setMessage(getArguments().getString("message"))
.setOnCancelListener(onCancelListener)
.setPositiveButton("Ok", new DialogInterface.OnClickListener() {
public void onClick(DialogInterface dialog, int id) {
}})
.setNegativeButton("Cancel", new DialogInterface.OnClickListener() {
public void onClick(DialogInterface dialog, int id) {
getDialog().cancel();
}});
return builder.create();
} …Run Code Online (Sandbox Code Playgroud) 我正在尝试获取dependencyInsight或依赖项 gradle任务的--configuration标志的所有有效值的列表.我将如何使用Gradle 3.2.1进行此操作?
我最近安装了IntelliJ IDEA 13.1.4和jRebel插件.我已经许可它,并在catalina.bat文件中创建和添加配置.
从IntelliJ中运行jRebel时,它似乎正在监视正确的目录,但我收到以下消息:
包中找到0个测试类''
这告诉我它没有启动.
有人知道我可能需要改变什么才能让它发挥作用吗?