小编wes*_*ton的帖子

自动组织进口

使用Eclipse时,我发现自己多次键入Ctrl + Shift + O,以组织导入(通常是不再需要的导入,生成警告).

有没有办法让Eclipse每隔一段时间组织一次我的导入,或者至少每次我保存一个文件?

java eclipse

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

java有钳位功能吗?

假设我有一个value,我通常会这样做"钳制"它到一个范围,这里是范围[0..1].也就是说,如果它低于范围开始,则将其增加到范围开始,将其增加到范围结束,将其减小到范围结束.

clampedValue = Math.max(0, Math.min(1, value));
Run Code Online (Sandbox Code Playgroud)

是否有内置功能可以夹紧到一个范围内?

java clamp

52
推荐指数
6
解决办法
4万
查看次数

空指针异常 - findViewById()

任何人都可以帮我找出这个程序可能存在的问题.在该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)

android nullpointerexception oncreate findviewbyid

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

是否有充分的理由始终在C中用括号括起一个定义?

显然,有些时候#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会导致问题,但我想不出一个.

这种情况是否存在?

c parentheses c-preprocessor

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

如何垂直对齐文本?

目标:纯画布上的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;

似乎或多或少有效,但必须有更好的方法.

java android canvas drawtext

46
推荐指数
6
解决办法
4万
查看次数

扭转动画

我有一个ImageView,当它添加到布局时会动画.当它被删除时,我想要反转相同的动画.

有没有办法在没有重新编码和反转参数的情况下在Android中反转动画?

animation android

45
推荐指数
5
解决办法
3万
查看次数

保持对JNIEnv环境的全局引用

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)

c java-native-interface jnienv

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

IllegalStateException("你不能设置Dialog的OnCancelListener或OnDismissListener")

这个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)

android android-dialogfragment

35
推荐指数
2
解决办法
9981
查看次数

如何获取Gradle项目的所有配置列表?

我正在尝试获取dependencyInsight依赖项 gradle任务的--configuration标志的所有有效值的列表.我将如何使用Gradle 3.2.1进行此操作?

gradle

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

在包''default package>'中找到0测试类

我最近安装了IntelliJ IDEA 13.1.4和jRebel插件.我已经许可它,并在catalina.bat文件中创建和添加配置.

从IntelliJ中运行jRebel时,它似乎正在监视正确的目录,但我收到以下消息:

包中找到0个测试类''

这告诉我它没有启动.

有人知道我可能需要改变什么才能让它发挥作用吗?

java intellij-idea

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