当我以编程方式更改图像时,它会在最初在布局文件中设置的旧图像上显示新图像?
这是我的布局文件的片段:
<LinearLayout
android:layout_width="match_parent"
android:layout_height="39dp"
android:gravity="center_vertical" >
<ImageView
android:id="@+id/qStatusImage"
android:layout_width="16dp"
android:layout_height="16dp"
android:layout_margin="5dp"
android:background="@drawable/thumbs_down"
/>
<TextView
android:id="@+id/grp_child"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:textColor="@color/radio_colors"
android:textStyle="normal"
android:background="@color/grey"
/>
</LinearLayout>
Run Code Online (Sandbox Code Playgroud)
以及设置imageView的代码:
@Override
public View getChildView(final int groupPosition, final int childPosition,
boolean isLastChild, View convertView, ViewGroup parent) {
//Answers
if(answersGroup != null)
answersGroup.setOnCheckedChangeListener(new OnCheckedChangeListener() {
@Override
public void onCheckedChanged(RadioGroup group, int checkedId) {
// int index = answersGroup.indexOfChild(findViewById(answersGroup.getCheckedRadioButtonId()));
qImageView = (ImageView) V.findViewById(R.id.qStatusImage);
if(ans ==0 || ans == 5){
// qSV.setImageResource(0);
qImageView.setImageResource(R.drawable.thumbs_up);
}
else
qImageView.setImageResource(R.drawable.thumbs_down);
}
});
Run Code Online (Sandbox Code Playgroud)
我错过了什么?
//In Node/JS
myDate = moment(data.myTime.format('YYYY/MM/DD HH:MM:SS')).toISOString();
//myDate shows '2014-09-24T04:09:00.000Z'
Insert INTO (dateColumn..) Values(myDate)...
Run Code Online (Sandbox Code Playgroud)
这是插入后得到的错误,Mysql中的note列是"datetime"类型.
MySQL Error :: {[错误:ER_TRUNCATED_WRONG_VALUE:不正确的日期时间值:'2014-09-24T04:09:00.000Z'用于第1行的'_dateColumn'列代码:'ER_TRUNCATED_WRONG_VALUE',
我不确定我理解下面第1行的代码?
interface Talkable{ }
class Device{}
class Phone extends Device implements Talkable{}
Talkable d = (Talkable) new Device(); //line 1
Talkable p = new Phone(); //line 2
Run Code Online (Sandbox Code Playgroud)
我理解line2,因为Phone实现了Talkable,但Device和Talkable是无关的,line1如何合法?
我开始学习Spring Boot了.我正在努力找到一个包含多个RestControllers的例子,它向我表明我可能做错了什么.我正在尝试一个非常简单的例子:目标是进行如下调用:
localhost:8080/
localhost:8080/employees/bob
localhost:8080/departments
Run Code Online (Sandbox Code Playgroud)
我只能得到localhost:8080 /来显示.其他调用返回响应:此应用程序没有/ error的显式映射,因此您将此视为回退.
com.demo.departments
Department.java
DepartmentController.java
com.demo.employees
Employee.java
EmployeeController.java
com.demo
BootDemoApplication.java
Run Code Online (Sandbox Code Playgroud)
码:
package com.demo.departments
@RestController
@RequestMapping("/departments")
public class DepartmentController {
@RequestMapping("")
public String get(){
return "test..";
}
@RequestMapping("/list")
public List<Department> getDepartments(){
return null;
}
}
--------------------------------------------------------------------
package com.demo.employees
@RestController
@RequestMapping("/employees")
public class EmployeeController {
Employee e =new Employee();
@RequestMapping(value = "/{name}", method = RequestMethod.GET, produces = "application/json")
public Employee getEmployeeInJSON(@PathVariable String name) {
e.setName(name);
e.setEmail("employee1@genuitec.com");
return e;
}
}
-----------------------------------------------------------------------
package com.demo
@RestController
@SpringBootApplication
public …Run Code Online (Sandbox Code Playgroud) 我似乎无法理解如何集成Swagger来生成API文档.url:####:8080/MyService/rest/users/getall
我在代码和依赖项中添加了注释.
我尝试访问:####:8080/MyService/rest /但是说没找到.
//web.xml
<servlet>
<servlet-name>mycompany-users-serlvet</servlet-name>
<servlet-class>com.sun.jersey.spi.container.servlet.ServletContainer</servlet-class>
<init-param>
<param-name>com.sun.jersey.config.property.packages</param-name>
<param-value>com.users.services.mycompany,com.wordnik.swagger.jersey.listing</param-value>
</init-param> `
<servlet>
<servlet-name>JerseyJaxrsConfig</servlet-name>
<servlet-class>com.wordnik.swagger.jersey.config.JerseyJaxrsConfig</servlet-class>
<init-param>
<param-name>api.version</param-name>
<param-value>1.0.0</param-value>
</init-param>
<init-param>
<param-name>swagger.api.basepath</param-name>
<param-value>####:8080/MyService/rest/</param-value> //not sure What this should be?
</init-param>
<load-on-startup>2</load-on-startup>`
Run Code Online (Sandbox Code Playgroud) 来自Java,我习惯这样做:
void setColor(String color) {
this.color = color;
}
Run Code Online (Sandbox Code Playgroud)
但是,我最近切换到了C++,而且我看到了很多这样的事情:
void setColor(string c) {
color = c;
}
Run Code Online (Sandbox Code Playgroud)
为什么不呢?这不推荐?
void setColor(string color) {
this->color = color;
}
Run Code Online (Sandbox Code Playgroud) 假设一个简单的双线程场景的以下伪代码:
我有两个线程,我想将数据插入到不同的表到数据库.在thread1上,我想插入一些表,同时,我想将其他数据插入到线程2. 我的问题是如何/在何处放置connection.close(),如果我将它放在线程1上并执行而thread2仍在处理,反之亦然,如果thread2已完成并关闭连接,但thread1尚未完成.
注意,数据库只是一个例子,它可以是文件,logger ..等等.
class Thread1{
DataBaseConnection connection;
main(){
threadPool = Executors.newFixedThreadPool(1);
connection.open();
if(ThisMightTakeSomeTime)
threadPool.submit(new MyRunnable(connection));
InsertDataToDataBase(Table A, Table B));
connection.Close(); //What if thread2 isn't done yet?
}
}
public class MyRunnable implements Runnable {
MyRunnable(connection){}
@override
void Run() { ...}
void TaskThatMayTakeWhile(){
...get data ...
...Connection.InsertToTables(table X, table Y)
}
}
Run Code Online (Sandbox Code Playgroud) 无论我尝试什么,我似乎无法让VLD捕获任何内存泄漏.有什么想法吗?
这里的输出片段也是:
Visual Leak Detector Version 2.4RC2 installed.
The thread 0x5748 has exited with code 0 (0x0).
The thread 0x2c70 has exited with code 0 (0x0).
The thread 0x3c98 has exited with code 0 (0x0).
No memory leaks detected.
Visual Leak Detector is now exiting.
The program '[24988] ConsoleApplication2.exe' has exited with code 0 (0x0).
Run Code Online (Sandbox Code Playgroud)
#include <vld.h>
#include <iostream>
using namespace std;
class Car{
public:
Car() {}
Car(string model,int year, string color) {
this->model = model; this->color, this->year = year; …Run Code Online (Sandbox Code Playgroud) 来自不同的语言,这似乎让我困惑.
String [] names = new String[]{"A","B","C"};
for (String n : names){
n = new String(n+"hello");
}
System.out.println(Arrays.toString(names)); // [A, B, C]
Run Code Online (Sandbox Code Playgroud)
names 仍然有原始值[A,B,C],我相信这是由于不变性,但这是否意味着我在迭代数组时创建了三个垃圾收集字符串?
然而这段代码确实修改了数组?
Car [] cars = { new Car("red"), new Car("green") };
for(int i=0; i<cars.length; i++){
Car c = cars[i];
c.color ="black";
}
for(int i=0; i<cars.length; i++){
Car c = cars[i];
System.out.println(c.color); //prints black, black
}
Run Code Online (Sandbox Code Playgroud) 我的理解是,子类中的重写方法不应该在父类的基本方法上抛出异常或更窄的异常.为什么它在构造函数中起反作用,子类的构造函数必须抛出相同的异常或更广泛,对此有任何合理的解释?
class MyException extends Exception{}
class MySubException extends MyException{}
class MySubSubException extends MySubException{}
public class Alpha {
public Alpha() throws MyException{
}
void foo() throws MyException {}
}
class Beta extends Alpha{
public Beta() throws MyException{ //NOT MySubSubException
super();
}
void foo() throws MySubException {} //Ok for methods
}
Run Code Online (Sandbox Code Playgroud) java ×6
c++ ×2
android ×1
arrays ×1
class ×1
constructor ×1
exception ×1
gradle ×1
imageview ×1
interface ×1
javascript ×1
maven ×1
memory-leaks ×1
momentjs ×1
mysql ×1
node.js ×1
php ×1
reference ×1
rest ×1
servlets ×1
spring-boot ×1
spring-mvc ×1
swagger ×1
threadpool ×1