小编Eug*_*gun的帖子

从Android中的另一个类调用方法时,"没有封闭的类型实例"错误

同事们,我有这样的问题:1.在我的第一堂课我有

public class parseYouTubeAndYahoo extends AsyncTask<String, Void, List<VideoDataDescription>>
Run Code Online (Sandbox Code Playgroud)

解析来自互联网的数据.但我需要从另一个类调用此类的execute()方法.在尝试修正此类代码时:

new MainActivity.parseYouTubeAndYahoo().execute("someURL"); 
Run Code Online (Sandbox Code Playgroud)

我有来自Eclipse的下一条错误消息

不能访问类型为MainActivity的封闭实例.必须使用MainActivity类型的封闭实例限定分配(例如,xnew A(),其中x是MainActivity的实例).

真的,这个问题笼罩在迷雾中.那么,如何从另一个类调用此方法?

methods android instance android-asynctask

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

如何从Android中的PostExecute正确启动活动?

我有一个AsyncTask,它用来自Internet的解析数据填充自定义List.

在PostExecute中,我填写该List并准备将其转移到新的Activity.

我是这样做的:

@Override
protected void onPostExecute(List<VideoDataDescription> result) 
{
    super.onPostExecute(result);
    MainActivity.progressDialog.dismiss();

    context.startActivity(new Intent(context, ResultsQueryActivity.class));


}
Run Code Online (Sandbox Code Playgroud)

在哪里

    private Context context;
Run Code Online (Sandbox Code Playgroud)

在执行此代码后的LogCat中,我得到了一个Java.lang.NullPointerException.像我这样开始一个活动是否可行和正确?

UPD 我补充说

    private Context mContext;


public YoutubeAndYahooParser(Context context) 
{
    super();
    this.mContext = context;
}
Run Code Online (Sandbox Code Playgroud)

初始化上下文和调用

YoutubeAndYahooParser youtubeAndYahooParser = new YoutubeAndYahooParser(ResultsQueryActivity.this);
                    youtubeAndYahooParser.execute("my string to pass in asynctak");
Run Code Online (Sandbox Code Playgroud)

在PostExecute之后

Intent intent = new Intent(mContext, ResultsQueryActivity.class);
 intent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
 mContext.startActivity(intent);    
Run Code Online (Sandbox Code Playgroud)

我添加了新的标志因为我在LogCat中有下一个:

*从Activity上下文外部调用startActivity()需要FLAG_ACTIVITY_NEW_TASK标志.这真的是你想要的吗?*

我对吗?

android android-asynctask android-activity

21
推荐指数
2
解决办法
4万
查看次数

Unrar存档文件夹在Debian中?

我有任务:我有Windows制造的rar-archive(文件夹,文件等等),通过FTP复制到Linux服务器.我想unrar这个存档来保持文件结构,就像在Windows中一样 - 带文件夹.

rar ? my_archivive
Run Code Online (Sandbox Code Playgroud)

工作,但我只有没有文件夹的文件列表.

怎么做 ?

谢谢.

linux directory rar

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

我可以从 Chrome 扩展程序访问站点的 localStorage 吗?

我的 chrome 扩展有两种状态: 1. 某些站点在 localStorage(另一个域)中有身份验证数据,所以我必须显示主窗口。2.没有身份验证数据,所以我必须显示带有登录名和密码表单的窗口。

为了定义是否提供身份验证数据,我想检查他的 localStorage,但看起来不可能。

但是,chrome.storage.local.get并且chrome.storage.local.set非常适合扩展的 localStorage。

或者有没有办法做到这一点 - 访问另一个站点的 localStorage ?

google-chrome local-storage google-chrome-extension

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

嵌套CDATA - 正确

这是XML文档中的问题:

<![CDATA[<b>Title</b> 
       Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod
       tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam,
       quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo
       consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse
       cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non
       proident, sunt in culpa qui officia deserunt mollit anim id est laborum.
]]>
Run Code Online (Sandbox Code Playgroud)

我需要在本文中插入CDATA表达式.怎么做 ?(如果我喜欢这个,我会在评估文件中看到错误)

<![CDATA[]]]]>Expression<![CDATA[>]]>
Run Code Online (Sandbox Code Playgroud)

xml cdata

6
推荐指数
2
解决办法
8372
查看次数

Java EE异常:名称java:comp未绑定在此Context中

我在Netbeans 7.2.1中有Java EE应用程序.尝试部署它(构建结束OK),我在Tomcat日志中收到错误:

Caused by: javax.naming.NameNotFoundException: Name java:comp is not bound in this Context
    at org.apache.naming.NamingContext.lookup(NamingContext.java:770)
    at org.apache.naming.NamingContext.lookup(NamingContext.java:153)
    at javax.naming.InitialContext.lookup(InitialContext.java:392)
    at org.springframework.jndi.JndiTemplate$1.doInContext(JndiTemplate.java:154)
    at org.springframework.jndi.JndiTemplate.execute(JndiTemplate.java:87)
    at org.springframework.jndi.JndiTemplate.lookup(JndiTemplate.java:152)
    at org.springframework.jndi.JndiTemplate.lookup(JndiTemplate.java:178)
    at org.springframework.jndi.JndiLocatorSupport.lookup(JndiLocatorSupport.java:95)
    at org.springframework.jndi.JndiObjectLocator.lookup(JndiObjectLocator.java:105)
    at org.springframework.jndi.JndiObjectFactoryBean.lookupWithFallback(JndiObjectFactoryBean.java:201)
    at org.springframework.jndi.JndiObjectFactoryBean.afterPropertiesSet(JndiObjectFactoryBean.java:187)
    at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.invokeInitMethods(AbstractAutowireCapableBeanFactory.java:1514)
    at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.initializeBean(AbstractAutowireCapableBeanFactory.java:1454)
Run Code Online (Sandbox Code Playgroud)

寻找导致此错误的代码我发现如下:

public Object lookup(String name) throws NamingException {
    return getURLOrDefaultInitCtx(name).lookup(name);
    }
Run Code Online (Sandbox Code Playgroud)

这是怎么造成的,我该如何解决?

java tomcat netbeans jndi

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

如何在Java中的HTTP请求中编码西里尔符号?

美好时光!我的Adroid应用程序对Google的其中一个API服务执行HTTP请求.当然,它的工作原理,当英语请求的参数,但当我用西里尔语测试我的功能 - 我得到400错误.似乎是,问题是将Win-1251字符串编码为UTF-8?如何在Java中完成?

java android encode utf-8

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

从String获取时间

我的Java代码必须从控制台获取字符串"HH:MM",并且需要使用它.有没有可能从字符串解析这样的时间,以便添加,例如,2小时.

BufferedReader in = new BufferedReader(new InputStreamReader(System.in));

System.out.print("Enter some time:");
String enteredTime = in.readLine(); 
// here I want to get time in some variable   
Run Code Online (Sandbox Code Playgroud)

谢谢!

因此,我必须得到三个日期,并定义另一个日期之间有三个日期.我知道我可以在部件上拆分字符串并使用它们,但我喜欢用这种时间操作的简单方法.

我发现很好的解决方案

SimpleDateFormat parser = new SimpleDateFormat("HH:mm");
Date ten = parser.parse("10:00");
Date eighteen = parser.parse("18:00");

try {
    Date userDate = parser.parse(someOtherDate);
    if (userDate.after(ten) && userDate.before(eighteen)) {
    ...
}
} catch (ParseException e) {
    // Invalid date was entered
}
Run Code Online (Sandbox Code Playgroud)

java string time parsing

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

vert.x:如何正确发送发帖请求?

我有具有最简单授权的vert.x应用服务器,其路由如下:

router.post("/user/sign").handler(this::userSignIn);
Run Code Online (Sandbox Code Playgroud)

当我从GUI执行此操作时,它工作正常。

但我想为此操作创建单元测试。我做的代码:

@Test
public void testServerUserRegister(TestContext context) {
  HttpClient client = vertx.createHttpClient();
  HttpClientRequest request = client.post("user/sign", response -> {
  System.out.println("Some callback " + response.statusCode());
  });

  String body = "{'username':'www','password':'www'}";
  request.putHeader("content-length", "1000");
  request.putHeader("content-type", "application/x-www-form-urlencoded");
  request.write(body);
  request.end();
}
Run Code Online (Sandbox Code Playgroud)

当我开始测试时: mvn test

我看到了结果,但:

1-我看不到任何字符串,例如“ Some callback ...”

2-我得到一个RejectedExecutionException

???. 16, 2016 4:29:20 PM io.vertx.core.http.impl.HttpClientImpl
  SEVERE: java.nio.channels.ClosedChannelException
  ???. 16, 2016 4:29:20 PM io.netty.channel.AbstractChannel$AbstractUnsafe invokeLater
  WARNING: Can't invoke task later as EventLoop rejected it
  java.util.concurrent.RejectedExecutionException: …
Run Code Online (Sandbox Code Playgroud)

java post unit-testing reactive-programming vert.x

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

在JavaScript中检查"undefined"上的数组项

我的JS代码有数组arrayResults,他的一些元素可以"未定义" - 这是算法的特征.要检查没有这样的元素,我使用以下代码:

for (i in arrayResults)
        {
          if (typeof(arrayResults[i])=='undefined')
           {
              // ask user to repeat
           };
        };  
Run Code Online (Sandbox Code Playgroud)

但是,使用调试器,我发现JS引擎传递了"undefined"-item of array(in for condition),分别我没有可能进行比较并按照说明进行操作.

那么,有没有办法真正检查数组中的"未定义"项?(我不能按顺序设置数组项,因为如果我找到"未定义"项的位置,我告诉用户去这个位置).

javascript arrays iteration for-loop undefined

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