小编Adr*_*dry的帖子

如何在静态方法中使用"runOnUiThread(runnable)"?

我正在两个不同的类中编写代码.第一个运行IOIO线程,读取IOIO板的引脚状态; 当这个线程运行时,它将更新另一个类(Tab3Activity.java)上的几个TextView.

我调用了方法来更新UI,就像下面的代码一样.

Tab3Activity.setText(index,"string here");
Run Code Online (Sandbox Code Playgroud)

setText()上述需求是静态的,否则它提供了一个犯错

无法从Tab3Activity类型对非静态方法setText(int,String)进行静态引用

问题出在Tab3Activity.java上.

public static void setText(final int idx,final String str) {
    runOnUiThread(new Runnable() {
        @Override
        public void run() {
            _textview[idx].setText(str);
        }
    });
}
Run Code Online (Sandbox Code Playgroud)

runOnUiThread上面给出了一个ERR.

无法从类型Activity对静态方法runOnUiThread(Runnable)进行静态引用

这是用Globalioio.java编写的IOIO线程代码,我正在尝试更新Tab3Activity.java上的UI.看看这个Loop()方法.

class Looper extends BaseIOIOLooper {

    @Override
    public void setup() throws ConnectionLostException {
        //setup DigitalOutputs, AnalogInputs etc here.
        if(Tab2Activity.isOpened==true){
            led_ = ioio_.openDigitalOutput(0, true);

            pwm1S = ioio_.openPwmOutput(10, 100);
            pwm1S.setDutyCycle((float)Tab2Activity.pwm1Speed.getProgress()/100);
            pwm1Move = ioio_.openDigitalOutput(11, false);

            pwm2S = ioio_.openPwmOutput(12, 100);
            pwm2S.setDutyCycle((float)Tab2Activity.pwm2Speed.getProgress()/100);
            pwm2Move = ioio_.openDigitalOutput(13, false);

            pwmSrvo1 = …
Run Code Online (Sandbox Code Playgroud)

java eclipse static multithreading android

4
推荐指数
1
解决办法
6255
查看次数

如何在Spring中从JSP表达式语言调用Java常量变量?

我花了一天时间寻找正确的解决方案,但没有运气!问题是,例如,如何使用jel $ {bean.objectName}从jsp调用Java常量变量。最佳做法是什么?

我想知道这是否可行,对于Spring和jsp来说还是很新的。

常量类:

public class RNConstant {
     public static final String HELLO_WORLD = "Hello World again!";
     public static final String DEFAULT_LOCALE = "id_ID";
     public static final String CONTEXT_PATH_SOAP_SR = "soap.sr";
}
Run Code Online (Sandbox Code Playgroud)

用EL调用jsp中的期望

 <p>${RNConstant.HELLO_WORLD}</p>
Run Code Online (Sandbox Code Playgroud)

我可以使用scriptlet进行以下操作,但是如果它在weblogic中运行,则无法正常工作。这适用于apache tomcat v7或v8

<%@ page import="static id.co.telkom.common.RNConstant.*" %>
 ...
 ...
<%= HELLO_WORLD %>
Run Code Online (Sandbox Code Playgroud)

Weblogic中的错误

home.jsp:2:18: Syntax error on token "static", Identifier expected after this token
<%@ page import="static id.co.telkom.common.RNConstant.*" %>
             ^-------------------------------------^
home.jsp:11:19: HELLO_WORLD cannot be resolved
Hello world!  <%=HELLO_WORLD%>
                     ^--------^
Run Code Online (Sandbox Code Playgroud)

Java版本:1.6

pom.xml

 spring
 <version>1.0.0-BUILD-SNAPSHOT</version>
 <properties> …
Run Code Online (Sandbox Code Playgroud)

java jsp weblogic spring-mvc scriplets

3
推荐指数
1
解决办法
5463
查看次数

C#为什么List.Remove()打破'for循环'?

我真的不知道为什么for循环只循环一次.我认为逻辑是正确的,下面是代码.

// the list is named 'dataList'

for(int i = 0 ; i < dataList.Count; i ++)
{
    string[] data = dataList[i].Split('+');
    string[] wsno = data[0].Split(':');
    if(wsno[1].Equals(tbWorkSheet.Text)) 
    {
        dataList.Remove(dataList[i])   <<<< remove string that has the same number
        //data removed
        //for loop ends up here idk why..
    }
}
Run Code Online (Sandbox Code Playgroud)

dataList.Count将是列表的大小.

这种情况是这样的..我想删除存储在列表中的多个字符串,每个字符串都有其组号.因此,for循环将循环直到最后一个循环.但是当它找到一个与所需字符串具有相同编号的字符串时,它将执行if语句以删除它.

c# for-loop list

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

标签 统计

java ×2

android ×1

c# ×1

eclipse ×1

for-loop ×1

jsp ×1

list ×1

multithreading ×1

scriplets ×1

spring-mvc ×1

static ×1

weblogic ×1