求解为何int[]数组在赋值后,数组元素还是为空 30C

这是自定义View里面的一个方法

 public void countPerDay(int[] newString){
        countTimes = newString;
        Log.d("TestInCountPerDay", String.valueOf(countTimes[0]) + ":" + String.valueOf(countTimes[4]) + ":" + String.valueOf(countTimes[5]) + ":" + String.valueOf(countTimes[6]));
        postInvalidate();
    }

在另一个类的onReceive调用这个方法,传入参数

 ResultView resultView = new ResultView();
 resultView.countPerDay(drawCountTimes);

View代码

public class ResultView extends View{

    private float mMinSize;
    private int mWidth;
    private int mHeight;
    private int mHeightUp;
    private int mBackgroundCorner;
    private int mStrokeWidth;
    private int mArcCenterX;
    private int mArcCenterY;

    SimpleDateFormat sdf = new SimpleDateFormat("HH:mm");
    Calendar ca = Calendar.getInstance();

    private int[] days = new int[7];
# # private int[] countTimes = new int[7];

    private RectF mArcRect;

    private Paint mBackgroundPaint;
    private Paint mStrokePaint;
    private Paint mTextPaint;
    private Paint mLinePaint;
    private Paint mBarPaint;
    private SweepGradient mSweepGradient;

    private int[] mSteps;

    private String screenOffTimes = "";
    private String unlockTimes = "";

    public ResultView(Context context) {
        super(context, null);
    }

    public ResultView(Context context, AttributeSet attrs) {
        this(context, attrs, 0);
    }

    public ResultView(Context context, AttributeSet attrs, int defStyleAttr) {
        super(context, attrs, defStyleAttr);
        setLayerType(View.LAYER_TYPE_SOFTWARE, null);
        init();
    }

    //接受从Async传来的数据,把值附给给countTime
    public void countTimes(String string,String string2){
        this.screenOffTimes = string;
        this.unlockTimes = string2;
        postInvalidate();
    }

##     public void countPerDay(int[] newString){
##         countTimes = newString;
##         Log.d("TestInCountPerDay", String.valueOf(countTimes[0]) + ":" + String.valueOf(countTimes[4]) + ":" + String.valueOf(countTimes[5]) + ":" + String.valueOf(countTimes[6]));
##         postInvalidate();
##     }


    public void init(){
        mBackgroundPaint = new Paint();
        mBackgroundPaint.setAntiAlias(true);
        mBackgroundPaint.setColor(Color.RED);
        mStrokePaint = new Paint();
        mStrokePaint.setAntiAlias(true);
        mStrokePaint.setStyle(Paint.Style.STROKE);
        mStrokePaint.setDither(true);                    // set the dither to true
        mStrokePaint.setStrokeJoin(Paint.Join.ROUND);    // set the join to round you want
        mStrokePaint.setStrokeCap(Paint.Cap.ROUND);      // set the paint cap to round too
        mStrokePaint.setPathEffect(new CornerPathEffect(10));   // set the path effect when they join.

        mTextPaint = new Paint();
        mTextPaint.setAntiAlias(true);

        mLinePaint = new Paint();
        mLinePaint.setAntiAlias(true);
        mLinePaint.setColor(0xFF77838F);
        mLinePaint.setStyle(Paint.Style.STROKE);
        mLinePaint.setPathEffect(new DashPathEffect(new float[]{10, 3}, 0));

        mBarPaint = new Paint();
        mBarPaint.setAntiAlias(true);
        mBarPaint.setColor(0xFF63CFEC);
        mBarPaint.setStrokeCap(Paint.Cap.ROUND);

        mArcRect = new RectF();

        //柱状图的数值如下
        mSteps = new int[]{9000,12000,8900, 9200,7000,0,6000};

        ca.setTime(new Date());
        for (int i = 0;i<7;i++){
            ca.add(Calendar.DATE, -1);
            days[6-i]= Integer.parseInt(new SimpleDateFormat("dd").format(ca.getTime()));
        }


    }

    private void initSize(){
        mWidth = (int) (570*mMinSize);
        mHeight = (int) (650*mMinSize);
        mHeightUp = (int) (550*mMinSize);
        mBackgroundCorner = (int) (13*mMinSize);

        mStrokeWidth = (int) (20*mMinSize);

        mArcCenterX = mWidth/2;
        int arcRadius = (int) ((308 / 2) * mMinSize);
        mArcCenterY = (int) (200 * mMinSize);
        mArcRect.left = mArcCenterX - arcRadius;
        mArcRect.top = mArcCenterY - arcRadius;
        mArcRect.right = mArcCenterX + arcRadius;
        mArcRect.bottom = mArcCenterY + arcRadius;
        int[] colors = {0xFF9A9BF8,0xFF9AA2F7, 0xFF65CCD1,0xFF63D0CD,0xFF68CBD0,0xFF999AF6,0xFF9A9BF8};
        float[] positions = {0,1f/6,2f/6,3f/6,4f/6,5f/6,1};
        mSweepGradient = new SweepGradient(mArcCenterX, mArcCenterX, colors , positions);
    }

    @Override
    protected void onDraw(Canvas canvas) {

##         Log.d("TestInOnDraw", String.valueOf(countTimes[0]) + ":" + String.valueOf(countTimes[4]) + ":" + String.valueOf(countTimes[5]) + ":" + String.valueOf(countTimes[6]));

        // 1.draw background
        mBackgroundPaint.setColor(0xFF4C5A67);
        drawUpRoundRect(0, 0, mWidth, mHeightUp, mBackgroundCorner, mBackgroundPaint, canvas);
        mBackgroundPaint.setColor(0xFF496980);
        drawBelowRoundRect(0, mHeightUp, mWidth, mHeight, mBackgroundCorner, mBackgroundPaint, canvas);

        // 2.draw arc
        mStrokePaint.setStrokeWidth(mStrokeWidth);
        mStrokePaint.setShader(mSweepGradient);
        canvas.drawArc(mArcRect, -240, 300, false, mStrokePaint);
        //Intent intent = new Intent();

        //int a = Integer.parseInt(intent.getStringExtra("countTime"));
        // 3.draw text
        float xPos, yPos;
        mTextPaint.setTextAlign(Paint.Align.CENTER);
        mTextPaint.setColor(Color.WHITE);
        mTextPaint.setTextSize(80 * mMinSize);
        yPos = mArcCenterY-((mTextPaint.descent() + mTextPaint.ascent()) / 2);
        //drawText直接显示数值
        canvas.drawText(screenOffTimes, mArcCenterX, yPos, mTextPaint);
        mTextPaint.setColor(0xFF828E98);
        mTextPaint.setTextSize(20 * mMinSize);
        yPos = 140*mMinSize -((mTextPaint.descent() + mTextPaint.ascent()) / 2);
        canvas.drawText("截至"+sdf.format(new Date())+"已点亮屏幕", mArcCenterX, yPos, mTextPaint);
        yPos = 260*mMinSize -((mTextPaint.descent() + mTextPaint.ascent()) / 2);
        canvas.drawText("其中解锁"+unlockTimes+"次", mArcCenterX, yPos, mTextPaint);
        mTextPaint.setColor(Color.WHITE);
        xPos = mArcCenterX - 40*mMinSize;
        yPos = 380 * mMinSize;
        canvas.drawText("第", xPos, yPos, mTextPaint);
        xPos = mArcCenterX + 40*mMinSize;
        canvas.drawText("名", xPos, yPos, mTextPaint);
        mTextPaint.setTextSize(30 * mMinSize);
        canvas.drawText("44", mArcCenterX, yPos, mTextPaint);


        mTextPaint.setTextSize(18*mMinSize);
        mTextPaint.setColor(0xFF77838F);
        mTextPaint.setTextAlign(Paint.Align.LEFT);
        xPos = 30*mMinSize;
        yPos = 420*mMinSize;
        canvas.drawText("最近7天",xPos, yPos, mTextPaint);

        mTextPaint.setTextAlign(Paint.Align.RIGHT);
        xPos = 540 * mMinSize;
        yPos = 420*mMinSize;
        canvas.drawText("平均125次/天", xPos, yPos, mTextPaint);

        // 4. draw dash line
        xPos = 30 * mMinSize;
        yPos = 440 * mMinSize;
        mLinePaint.setStrokeWidth(2*mMinSize);
        canvas.drawLine(xPos, yPos, mWidth - xPos, yPos,mLinePaint);

        // 5. draw bars and date
        mBarPaint.setStrokeWidth(mStrokeWidth);
        float halfBarGap = 510 * mMinSize / 14;
        float maxLength = 440 * mMinSize;
        yPos = 480 * mMinSize;
        int maxBar = 0;
        for(int step : mSteps){
            if(step > maxBar){
                maxBar = step;
            }
        }
        float length;
        mTextPaint.setColor(Color.WHITE);
        mTextPaint.setTextSize(18*mMinSize);
        mTextPaint.setTextAlign(Paint.Align.CENTER);
        for(int i = 0; i < mSteps.length; i++){
            xPos = (2*i+1)* halfBarGap + 30 *mMinSize;
            length = (yPos - maxLength) * mSteps[i]*1f/maxBar;
            canvas.drawLine(xPos, yPos, xPos, yPos -length, mBarPaint );
            //画出柱状图下面的日期
            String date = String.format("%02d日", days[i]);
            canvas.drawText(date,xPos, 520*mMinSize, mTextPaint );
        }

        // 6.draw text below
        mTextPaint.setTextAlign(Paint.Align.LEFT);
        mTextPaint.setColor(Color.WHITE);
        mTextPaint.setTextSize(23 * mMinSize);
        canvas.drawText("这是被隐藏的内容", 30 * mMinSize, 610 * mMinSize, mTextPaint);
        mTextPaint.setTextAlign(Paint.Align.RIGHT);
        mTextPaint.setColor(0xFF63CFEC);
        canvas.drawText("查看  >", 540 * mMinSize, 610 * mMinSize, mTextPaint);

    }



    private void drawUpRoundRect(float left, float top, float right, float bottom, float radius, Paint paint, Canvas canvas) {
        Path path = new Path();
        path.moveTo(left, top);
        path.lineTo(right-radius, top);
        path.quadTo(right, top, right, top + radius);
        path.lineTo(right, bottom);
        path.lineTo(left, bottom);
        path.lineTo(left, top + radius);
        path.quadTo(left, top, left + radius, top);
        canvas.drawPath(path, paint);
    }
    private void drawBelowRoundRect(float left, float top, float right, float bottom, float radius, Paint paint, Canvas canvas) {
        Path path = new Path();
        path.moveTo(left, top);
        path.lineTo(right, top);
        path.lineTo(right, bottom-radius);
        path.quadTo(right, bottom,right-radius,bottom);
        path.lineTo(left + radius, bottom);
        path.quadTo(left,bottom,left,bottom-radius);
        path.lineTo(left, top);
        canvas.drawPath(path, paint);
    }



    @Override
    protected void onMeasure(int widthMeasureSpec, int heightMeasureSpec) {
        int desiredWidth = Integer.MAX_VALUE;
        int widthMode = MeasureSpec.getMode(widthMeasureSpec);
        int widthSize = MeasureSpec.getSize(widthMeasureSpec);
        int heightMode = MeasureSpec.getMode(heightMeasureSpec);
        int heightSize = MeasureSpec.getSize(heightMeasureSpec);

        int width;
        int height;

        //Measure Width
        if (widthMode == MeasureSpec.EXACTLY) {
            //Must be this size
            width = widthSize;
        } else if (widthMode == MeasureSpec.AT_MOST) {
            width = Math.min(desiredWidth, widthSize);
        } else {
            //Be whatever you want
            width = desiredWidth;
        }
        mMinSize = width/570.f;
        int desiredHeight = (int) (mMinSize*650);
        initSize();
        //Measure Height=
        if (heightMode == MeasureSpec.EXACTLY) {
            //Must be this size
            height = heightSize;
        } else if (heightMode == View.MeasureSpec.AT_MOST) {
            //Can't be bigger than...
            height = Math.min(desiredHeight, heightSize);
        } else {
            //Be whatever you want
            height = desiredHeight;
        }

        //MUST CALL THIS
        setMeasuredDimension(width, height);
    }

}

可是传递过来的数据在onDraw里面不生效,只在countPerDay里面生效(就是在countPerDay里面打log,数值都是正常的。但是在onDraw里面打log就全部都为0)

这是为何,本人初学小白,请大神们指教。

0

3个回答

onDraw的代码呢?

2
PiGeek
小小玲啊 谢谢你,我学习一下~
3 年多之前 回复
danielinbiti
danielinbiti 回复PiGeek: activity和service的几种交互方式 http://blog.csdn.net/zhang31jian/article/details/7961506
3 年多之前 回复
PiGeek
小小玲啊 ResultView resultView = new ResultView()是在BroadcastReceiver里面创建的,我一想可能真不是同一个。可是该怎么改呢
3 年多之前 回复
danielinbiti
danielinbiti 回复PiGeek: 如果是service中ResultView resultView = new ResultView();和你前端显示的不是同一个吧
3 年多之前 回复
PiGeek
小小玲啊 不行哦,还是老样子。我是在service里面向BroadcastReceiver发送消息,BroadcastReceiver捕捉到后把相关数据通过countPerDay传递给View
3 年多之前 回复
danielinbiti
danielinbiti 回复PiGeek: 嗯,看到postInvalidate了,你应该是在其他thread中调用该方法的?加上volatile ,同步线程变量 private volatile int[] countTimes = new int[7];
3 年多之前 回复
PiGeek
小小玲啊 回复danielinbiti: 有的哦,数值变化之后也会刷新一次view。但是得到的数值也是0
3 年多之前 回复
danielinbiti
danielinbiti 回复PiGeek: 不是,调用countPerDay后,有界面刷新之类,使得onDraw调用到嘛?还是说就是在界面初始化的时候调用了一次onDraw
3 年多之前 回复
PiGeek
小小玲啊 回复danielinbiti: 调用resultView.countPerDay(drawCountTimes)是在另外一个onReceive里面调用的,在这里面打印drawCountTimes的数值也是正常的
3 年多之前 回复
danielinbiti
danielinbiti 回复PiGeek: 调用resultView.countPerDay(drawCountTimes);这句后有onDraw内容的打印吗?
3 年多之前 回复
PiGeek
小小玲啊 已经贴上了哦,需要指点的地方也加上##号了~
3 年多之前 回复
danielinbiti
danielinbiti 回复PiGeek: 你得把具体代码贴出来,照上面这么写,且顺序也没错,那肯定不会出错
3 年多之前 回复
PiGeek
小小玲啊 就是传过来的数组数据只在countPerDay这个方法里面是被赋值了的,在其他地方全部为空,不管是onDraw或是其他什么地方
3 年多之前 回复

额,代码也太长啦吧,你可以简单说下问题

0

传递自定义什么嘛vv

-1
PiGeek
小小玲啊 啊?就是通过countPerDay传入int[]数组呗
3 年多之前 回复
Csdn user default icon
上传中...
上传图片
插入图片
抄袭、复制答案,以达到刷声望分或其他目的的行为,在CSDN问答是严格禁止的,一经发现立刻封号。是时候展现真正的技术了!
其他相关推荐
Integer 为空赋值给int
Integer 转 int
怎样将int类型赋值为空?
int CDRSOURCESIGN=""不行滴.. int CDRSOURCESIGN=Convert.Toint32("");也是不行滴!!rnrn怎样是行滴??????????????
int数组赋值问题
定义个10宽20高的矩阵做俄罗斯方块用,用int数组时不知道怎么赋值法,求大家看看rnrnPS:我只定义了个方块的模型,问题出在这段代码,我textout出来的Block永远为空。rn[code=C/C++]rnstatic int Block[20][10]=0;rnBOOL checkRoad(HWND hwnd) //碰撞路径检测rnrn if (y<17)rn rn if ((Block[y+2][x]==0)&&(Block[y+2][x+1]==0)&&(Block[y+2][x+2]==0))rn rn y++;rn rn return 0;rn rn else rn rn UINT i,j;rn for (i=y;i
数组元素值为空的情况
数组的内容我用print_r打印出来后是:rnArray ( [0] => 1164605527791.jpg [1] => pd07020902.jpg [2] => ) rn第三个元素是空;但rnfor($n=0;$n''&&!is_null($arr[$n]));rn rn echo "wwwwwwwww. ";rn rn仍然打印了3行wwwwwwwwwwww;我想应该是这个判断的问题,rnrn请问这个判断该如何写?
matlab 空数组的赋值
将两个数组结合成一个,先定义一个空数组,如A= [ ],然后再把两个数组依次赋给A,见下例。 >> A=[]; a=[1 2]; b=[3 4];A=[A a] A =      1     2 >> A=[A b] A =      1     2     3     4 以前都是写过就忘,这次强行记录。
【数组】判断数组为空还是长度为0好?
1.问题:判断数组为空还是长度为0好2.源代码:public class TestArray { public static void main(String[] args) { int b[]=null; int a[] = new int [10]; /*1、打印*/ System.out.println("a数组的长度:"+
perl 数组元素为空和数组元素为undef 是两码事
[root@dr-mysql01 ~]# cat x.pl @arr=($tmp1[-1], $tmp2[-1],2); if (@arr){print "111111\n"}; print "\$arr[0] is $arr[0]\n"; print "\$arr[1] is $arr[1]\n"; [root@dr-mysql01 ~]# perl x.pl 111111 $arr[0]
类属性赋值后 依然为空
rnrnCar.Picture = filePath; 把filePath值赋给car类的picture属性后,提交数据时 实体类的Car.Picture 值 依然为空! 什么原因?rnrnrn如图:[img=https://img-bbs.csdn.net/upload/201702/27/1488181024_397034.png][/img]rnrn[img=https://img-bbs.csdn.net/upload/201702/27/1488181035_172680.png][/img]
关于为空赋值
[img=https://img-bbs.csdn.net/upload/201503/17/1426578038_295066.png][/img] 各位大神 新手请教个简单问题 如图 代码执行到这里的时候 报错 说类型转换错误 原因是在页面 有一个正式提交按钮和一个暂时提交按钮 暂时提交按钮提交的东西进入数据库 但未正式提交 问题是执行到途中代码 当我填写这份表单的时候 突然有事不填了 点击 暂时提交按钮提交 以便以后再继续填 他说我的这个值为空 int。Parse转换失败 报错 想请教如何在提交时 给它一个值 让他成功转换 不影响暂时提交功能
以下代码执行后为何返回为空?
我想把长度大于8000的字符串插入到类型为text的临时表变量中,为何执行以下代码查询出来为空rn[code=SQL]rndeclare @retTb table(retTxt text)rndeclare @i int rndeclare @str1 varchar(8000)rndeclare @str2 varchar(8000)rnset @str1 = ''rnset @str2 = ''rnset @i =1rnwhile @i <= 8000rnbeginrn set @str1 = @str1 + 'a' rn set @str2 = @str2 + 'b'rn set @i = @i + 1rnendrninsert into @retTb select @str1+@str2rnrnselect substring(retTxt,8001,10) from @retTbrn[/code]
提示为空?为何?
在后台动态生成HTML元素如:rnprivate void BindData()rnrn string makeHTML=" ";rn for(int k=1;k<=i;k++)rn rn makeHTML += " 自定义网页: 计数器值:";rn rn rn makeHTML += "";rn this.literal1.Text=makeHTML; //literal1为页面的控件,用makeHTML替换掉。rnrnrn在前台,运用JS语句来获取其生成的值,如:rn
维度不确定的数组,在某个情况下需要赋值为空数组
一维数组: public IHttpActionResult Test(string strIDs) { string[] IDs; if (!string.IsNullOrWhiteSpace(strIDs)) { IDs= strIDs.Split(','); } else //为空就赋值为一个空...
首行为空的XML文件为何load后内容为空?
两个xml文件,内容相同,只是其中一个文件首行为空行,即在第二行开始。rnrn使用DOMDocument.load分别加载这两个文件,有空行的加载后内容为空,无空行的内容正常。rnrn同样,在前有空格同样加载后无内容。rnrn请问如果要加载一个首行为空行的XML文件,怎么办。rnrn(我用ASP.net动态生成的XML文件首行都为空)
为什么sprintf后数组内容为空
vector idaresult = InformationDisperseString(N/2, N, idasource);rnfor(int i = 0;i<8;i++)rnrnchar sendida[200];rnsprintf(sendida,"%s",idaresult[i].c_str());rncout<
Python的多维空数组赋值
Python里面的list、tuple默认都是一维的。 创建二维数组或者多维数组也是比较简单。 可以这样: list1 = [1,2,] list1.append([3,4,]) 可以这样: list2 = [1,2,[3,4,],] 还可以这样: list3 = [1,2] list3.insert(2, [3,4]) 比较特殊的情况是: list0 = [] list
数组间的格式转换(关于数组元素的赋值)
string[] tp1;rndouble[] numble;rntxNums.text = "1,2,3,4"rntp1 = (txNums.Text.Split (",".ToCharArray()));rnrn请问怎样将tp1里的值赋给numble?rn还有就是怎样给numble[0]赋值?rn
清空数组为空
$arr=array('12345','','67891','','33333',''); $arr=array_filter($arr);
空数组的赋值相关知识
/* 使用$arr[] 赋值时,新产生的下标是当前索引下标的最大值+1 */ $arr = array(); // 定义空数组 $arr[] = 2; // 默认产生的是索引下标,从0开始 $arr[2] = 1; // 下标是几 下标为2 $arr[] = 2; // 3 下标为3 $arr[1] = 3; //下标为1 $arr[] = 5; // 这是几
short数组如何赋值给int数组?
比如short a[6] 要赋值给 int b[3]里面。unix下面。
C++ 定义string数组,数组元素怎么赋值?
RT.比如,程序如下rnstring s[10];rnint i=0;rnrnwhile(!myRecord->adoEOF) rnrn _variant_t varPlanPower1; rn varPlanPower1 = myRecord->Fields->GetItem("XXX")->Value;rn s[i]=string((_bstr_t)varPlanPower1);rnrnmyRecord数从数据库读取的数据集rn本意是想为s的各个元素赋值,但是最后赋值为空.请高手帮帮忙!rn如何将值给s的各数组元素?
数组判断为空
if (list==null || list.size()==0){    
为数组赋值出错!
简单的错误很致命!rndim username(70)rnusername(1)="a"rnfor i=1 to ubound(username)rn ^^^^i出错(换个名字intloop,还是错!)rn if username(i)=username thenrn exit forrn end ifrnnextrn username(i)=usernamern rn如果把i=1写成i = 1加空格没事!rn但是,最后一句错了!!rn我本想把用户名写入数组后在加如application的.rn没想到数组都过不了:(rn我装了vs.net是不是和原来定义数组的方式不同了?
数组为空报错
public class wan2rnpublic static void px(int a[])rn int i,j,temp;rn for(i=1;i
循环为数组赋值
我有一个数组tt1,有如下部分代码rncmd1.CommandText = "select * from test";rnSqlDataReader reader1 = cmd1.ExecuteReader();rn我怎么样才能把查询的数据库记录赋值给数组啊
数组赋值为何少零?
代码如下:rnOption ExplicitrnPrivate test(1 To 2)rnrnPrivate Sub Command1_Click()rn test(1) = 123rn Text1.Text = test(1) * 0.0001rnEnd Subrnrn结果Text1.Text 中显示为 .0123,前面的零丢掉了,请问各位大哥如何解决.
如何判断数组为null还是为空?
目录   1.数组为null和数组为空的区别 2.判断数组是否为空? 3.判断数组是否为null? 1.数组为null和数组为空的区别 数组为null:是创建了数组的引用,但在堆中并没有数组中的元素 例: int[] array1 = null; array1是数组类型的空引用,栈中名为array1的内存空间没有存放任何地址。   数组为空:数组是空其实就是数组的长度为0,数...
java 数组元素是否为空的问题
求帮忙解决个问题啊,新手问题rn现在一个String类型的数组输出结果是 " 2323,2,毫升(ml),,,33, ",从输出结果里看索引3和4还有6的位置是没有数据,我要判断是不是有数据该怎么判断呢,我用了rnrnrn```rn if(""==obj[3] || obj[3]==null)rn```rn判断不行,说明是有数据的,但是我想要的是没东西就是没数据,该怎么判断呢rn有没有会的帮忙解决下rn
对赋值为空的疑问
请问为什么很多代码结尾都有这种操作呢:rnrn// release memory in IErn root = script = div = all = a = null;rnrn请指教~谢谢~
int 数组赋值给int数组以及C++memcpy函数的使用
标准规则下禁止这样做,不过有三个实现方法。 1.结构体 struct array { int data[20]; }; struct array b = {{1,2,3}}; struct array a = b; 2.内存复制 #include&amp;amp;lt;string.h&amp;amp;gt; int a[20],b[20]; memcpy(a,b,sizeof(a));//令a数组等于b数组 3.逐个赋值。...
objMenuDiv.style.left赋值总为空
objMenuDiv.style.left = document.body.scrollLeft + event.clientX;rn我想实现鼠标右键后弹出菜单位置的定位,但是上面这条语句运行后left 的值总是""不知道为什么。rn我看网上好多代码就是这样写的啊,为什么我赋不上值?求指教~~~
赋值与判断是否为空
        给code对应的name赋值:        objInfo.expenseName=$(&quot;#expenseType&quot;).find(&quot;option:selected&quot;).text();//费用标识      js判断值是否为空         if (isEmpty($('#matrlNo').val())) {             jlAlert(&quot;物资名称不能为空!&quot;);...
__int64的结构体 赋值为空
做的cmpp收短信时的应答,把代码贴一下:rnrnint CcmppSocket::sendResp(__int64 msgid)//发送响应包rnrn CMPP_PACKAGE newpkg;rn CMPP_DELIVER_RESP &mymsg = *(CMPP_DELIVER_RESP *)newpkg.data;rn rn memset( (void *)&mymsg, 0, sizeof(CMPP_DELIVER_RESP));rn rn int err, nsize;rn nsize = sizeof(CMPP_HEAD) + sizeof(CMPP_DELIVER_RESP);rnrn newpkg.head.size = htonl( nsize);rn newpkg.head.cmdid = htonl( nCMPP_DELIVER_RESP);rn newpkg.head.seqid = htonl( _getseqid());rnrn mymsg.msgid=htonl(msgid);rn mymsg.result=1;rnrn memcpy((void *)newpkg.data, (void *)&mymsg, sizeof(mymsg));rn rn err = _send((char *)&newpkg, nsize);rnrnrn if( err != nsize)rn return nCMPP_DELIVER_RESP;rn return 0;rnrnrnrnCMPP_DELIVER_RESP 只有msgid与resultrn _send过去发现为空值,求解,谢谢
为何此处为空不可以?
declare @prd char(6)rndeclare @sql varchar(1000) rndeclare @tab varchar(100) rndeclare @month intrndeclare @year intrnrnset @month=9 rnset @year=2008 rnset @prd='200809'rnset @tab = 'dbo.kqbrush'+@prd rnselect @sql=(case rn when @month in (1,2,4,6,8,9,11) then 'TABLE chuqin ([name] [char] (10),rn [no] [varchar] (10),[bmno] [char] (10), [bmmc] [char] (20),[26] [char] (255),[27] [char] (255), [28] [char] (255) ,[29] [char] (255)'rnend ) rnset @sql='create '+@sql+')' rn--print @sql rnexec(@sql) rn[color=#FF0000]select @sql=(case rn when @month in (1,2,4,6,8,9,11) then 'select distinct name,no,bmno,bmmc,'','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','' from ' rn end ) [/color]rnrnset @sql='insert into chuqin '+ @sql+@tabrn execute (@sql) rn select * from chuqin rnrn我想问一下:在执行插入的时候为什么'',插入失败,但是换成具体的数值(如0)就插入成功了阿?rnrnrn
opener为何一直为空?
我在一个frameset的一个frame中用window.open打开一个新的窗口,但是这个新的窗口的opener一直为空,这是为什么,我要通过这个新的窗口来访问frameset的东西,请教各位
EntityManager 一直为空!为何?!
我用Eclipse+Jboss 建立一个JPA工程和WEb工程。rnrnJPA工程: POJO+数据库操作+业务逻辑rnWEB工程: 采用JSF,显示一些表的增删查改。rnrn要在Jboss下运行,添加到一个EAR工程。rnrn但是运行的时候,EntityManager 一直为空。rnrnrnpersistence.xml:rnrnrn[code=Java]rnrnrn rn MySqlDSrn com.test.entities.Cdrn com.test.entities.Employeern com.test.entities.Locationrn rnrn[/code]rnrnrnCdController.java 关键代码rn[code=Java]rnpublic class CdController rn private Cd cd = null;rn private List cds = null;rn @Resourcern private UserTransaction utx = null;rn @PersistenceUnit(unitName = "MyWebJpa2")rn private EntityManagerFactory emf = null;rnrn public EntityManager getEntityManager() rn return emf.createEntityManager();rn rn 。。。rn 以下是一些增删查改的方法。rnrnrn[/code]rnrn运行后,EntityManagerFactory 一直为空。rnrn transaction-type="RESOURCE_LOCAL" 换成JTA也是一样。rnrn不知道为什么~~~~~求高手解答!
为何file控件为空?
现在有个file控件,并且做为服务器控件使用。定义一个对象MyFileCollection,HttpFileCollection MyFileCollection = Request.Files;rn问题是在我的机器上运行正常,Request.Files也能获取值,但是当在其它机器上本地运行这段的时候Request.Files却为空,请问各位问题出在什么地方,着急啊。谢谢!!!
为何返回值总为空
'方法在调用它自身后,返回值总是空是什么原因?在下面的方法中,如何才能直接回到调用的主过程中?怀疑后面是造成前者的原因,故多此一问,并非一题多问。请诸位从侠帮忙啊。rnrnSub a()rnDim aTmpSimple()rnaTmpSimple = LookForRow("和谐", Array2, 1, 33222)'值总为空rnEnd SubrnrnFunction LookForRow(lookFor As Variant, aInArray, lngBegin&, lngEnd&) As Variant()rn Dim lngLenght&, lngIncVal&, cx& ', lngBgn&, lngE&rn Dim aInSub()rn lngLenght = lngEnd - lngBegin + 1rn lngIncVal = Int(lngLenght / 2) + lngBeginrn rn If lngLenght < 1 Then Exit Functionrnrn Select Case aInArray(lngIncVal, 3)rn Case Is < lookForrn LookForRow lookFor, aInArray, lngIncVal + 1, lngEndrn Erase aInSubrn Case Is = lookForrn ReDim aInSub(1 To 1, 1 To 6)rn For cx = 1 To 6rn aInSub(1, cx) = aInArray(lngIncVal, cx)rn Nextrn LookForRow = aInSubrn Erase aInSubrn '此处如何直接退出到调用该方法的语句下一句执行?????????rn Case Is > lookForrn LookForRow lookFor, aInArray, lngBegin, lngIncVal - 1rn Erase aInSubrn End SelectrnEnd Function
mysql为字段为空的列赋值
数据库修改某个字段为空的值:apply_id 为空:update product_report_temp SET state = 0 WHERE apply_id is NULL;apply_id 不为空:update product_report_temp SET state = 1 WHERE apply_id &amp;lt;&amp;gt; &quot;&quot; or apply_id is not null;...
怎么给数组赋值?(不是一个一个的给数组元素赋值)
怎么给数组赋值?(不是一个一个的给数组元素赋值)rn是很多的数值一起赋给数组(非数组元素)rn请教……
插入数据为空报错,求解
[size=24px]本人用textbox和按钮往数据库里插入数据,都有值得时候插入成功,只要有一个textbox里为空时就会报错[color=#FF0000]System.FormatException: 输入字符串的格式不正确。[/color] 求解!!![/size]
相关热词 c#异步发送kafka c#窗体编号 c# 操作二进制文件 c# 反射 机制 c#线程 窗体失去响应 c#角度转弧度 c# 解析gps数据 c# vs设置 语法版本 c# json含回车 c#多线程demo