在下面的代码中,我想使用 来EventEmitter调用该方法onlyNewAddedItems。
我定义了EventEmitter实例和发出事件的方法,如下所示:
@Output() newItemValue = new EventEmitter<string>();
addNewItem(val : string) {
this.newItemValue.emit(val);
console.log("add new item:" + val);
this.items.push(val);
}
Run Code Online (Sandbox Code Playgroud)
为了绑定到第三个事件,我执行了以下操作:
<h1 (newItemValue) = onlyNewlyAddedItems($event)></h1>
Run Code Online (Sandbox Code Playgroud)
但是当我编译代码时,我收到以下错误
Error: src/app/app.component.html:4:42 - error TS2345: Argument of type 'Event' is not assignable to parameter of type 'string'.
4 <h1 (newItemValue) = onlyNewlyAddedItems($event)></h1>
src/app/app.component.ts:5:16
5 templateUrl: './app.component.html',
~~~~~~~~~~~~~~~~~~~~~~
Error occurs in the template of component AppComponent.
Run Code Online (Sandbox Code Playgroud)
请让我知道如何onlyNewlyAddedItems通过执行该方法EventEmitter。
AppComponent.component.ts:
import { Component, Input, Output, EventEmitter …Run Code Online (Sandbox Code Playgroud) 我没有找到任何布尔方法执行此任务.我可以通过检查更改为指定id的那个viewStub来完成inflatedid吗?
Javacode:
protected void plantViewTree() {
// TODO Auto-generated method stub
ViewStub mViewstub = (ViewStub) findViewById(R.id.viewStub00);
if (mViewStub is inflated) {
//do somthing
}else
mViewstub.inflate();
}
Run Code Online (Sandbox Code Playgroud)
更新 关于eOutput的评论
根据此代码,toast始终显示其消息,这意味着mViewStub分配给findViewById它的消息永远不会为null,除了viewstub底层alyout中的视图不可用.有什么建议.?
protected void plantViewTree() {
// TODO Auto-generated method stub
ViewStub mViewstub = (ViewStub) findViewById(R.id.viewStub00);
if (mViewstub != null)
Toast.makeText(getApplicationContext(), "view is inflated",
Toast.LENGTH_LONG).show();
else
mViewstub.inflate();
}
Run Code Online (Sandbox Code Playgroud) 代码部分中的下面发布的方法包含一个静态方法,即"with()".我想测试下面的代码,所以我编写了这个方法的测试,如测试部分所示.
我尝试使用"spy()"和"mock()"测试方法,但测试失败了alwyas.
请让我知道如何测试方法返回void?
码
public RequestCreator requestCreatorFromUrl(String picUrl) {
return Picasso.with(mCtx).load(picUrl);
}
Run Code Online (Sandbox Code Playgroud)
测试:
public class ValidationTest {
@Mock
private Context mCtx = null;
@Rule
public MockitoRule mockitoRule = MockitoJUnit.rule();
@Before
public void setUp() throws Exception {
mCtx = Mockito.mock(Context.class);
Assert.assertNotNull("Context is not null", mCtx);
}
@Test
public void whenRequestCreatorFromUrlTest() throws Exception {
Picasso picasso = Picasso.with(mCtx);
Picasso spyPicasso = spy(picasso);
Uri mockUri = mock(Uri.class);
RequestCreator requestCreator = Picasso.with(mCtx).load(mockUri);
RequestCreator spyRequestCreator = spy(requestCreator);
doReturn(spyRequestCreator).when(spyPicasso.load(mockUri));
//when(spyPicasso.load(mockUri)).thenReturn(spyRequestCreator);
RequestCreator actual = spyPicasso.load(mockUri);
Assert.assertEquals(requestCreator, …Run Code Online (Sandbox Code Playgroud) 对于Android,如何在布局中更改ImageView中的图像大小?
我的形象是jpeg格式.
我在网站上提供了数据,如下图所示:

该网站提供了一些每时更新的参数值.现在我想根据Android应用中的列名和行号检索这些数据,我知道如何打开http连接.但不幸的是,我不知道从哪里开始以及如何读取图像中提供的数据.
我有两个从两个不同的类实例化的对象,并且两个类均未实现可打包或可序列化。并且我想将这些对象传递给另一个活动,因此我编写了以下代码:
*代码:
//send object
Intent intConnect = new Intent(mCtx.getApplicationContext(), ActConnect.class);
Bundle bndConnect = new Bundle();
bndConnect.putParcelable("HeaderModel", (Parcelable) mHeaderModel);
bndConnect.putParcelable("DetailsModel", (Parcelable) mDetailsModel);
intConnect.putExtras(bndConnect);
intConnect.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
mCtx.startActivity(intConnect);
//receive objects in the receiving activity
Bundle extras = getIntent().getExtras();
Header headerModel = (Header) extras.get("HeaderModel");
Details detailsModel = (Details) extras.get("DetailsModel");
Run Code Online (Sandbox Code Playgroud)
但是在运行时,我收到以下日志:
logcat:
10-08 11:55:44.225 13138-13138/com.example.com.bt_11 E/AndroidRuntime? FATAL EXCEPTION: main
Process: com.example.com.bt_11, PID: 13138
java.lang.ClassCastException: com.example.com.adapter.Header cannot be cast to android.os.Parcelable
at com.example.com.adapter.MyExpandableList$1.onClick(MyExpandableList.java:152)
at android.view.View.performClick(View.java:5184)
at android.view.View$PerformClick.run(View.java:20893)
at android.os.Handler.handleCallback(Handler.java:739)
at android.os.Handler.dispatchMessage(Handler.java:95)
Run Code Online (Sandbox Code Playgroud)
如何将不可包裹的物体从一个活动传递到另一个活动?
我使用的是 OpenCV4Android 版本 2.4.11。我正在从相机读取帧,并检测到帧中的任何矩形形状。然后我尝试在检测到的对象周围绘制一个半透明矩形。
我想要做的是,根据检测到的物体的四个角绘制一个半透明的矩形。但是,在 openCV 中,您可以通过仅指定矩形的两个点“左上和右下”来绘制矩形。
请让我知道如何通过指定矩形的四个角来绘制矩形,而不仅仅是指定左上角和右下角。
下面发布的图像是向您展示我的尝试并向您展示我想要的是围绕四个检测到的角“红,绿,蓝,白”绘制一个矩形
图像:
我有值的枚举VALID和INVALID,其中有一个与之相关的布尔属性.我想根据我提供的布尔值获取枚举值.
如果是true我应该得到VALID,如果是false我应该得到INVALID.我想基于成员变量的值,在下面的getter方法中这样做
public boolean getCardValidityStatus() {
return CardValidationStatus status = CardValidationStatus(this.mCardValidityStatus));
}
Run Code Online (Sandbox Code Playgroud)
我的代码:
private enum CardValidationStatus {
VALID(true),
INVALID(false);
private boolean isValid;
CardValidationStatus(boolean isValid) {
this.isValid = isValid;
}
public boolean getValidityStatus() {
return this.isValid;
}
}
Run Code Online (Sandbox Code Playgroud) Eclipse在Problems选项卡中显示资源目录不可用,尽管它在项目文件夹树中可用:
[2012-09-11 12:14:43 - QR01] ERROR: resource directory 'D:\workspaceQR\QR01\res'
does not exist
Run Code Online (Sandbox Code Playgroud)
我试图通过重建路径修复此错误,我无法解决它,并且它在项目名称旁边给了我红色的惊叹号.有什么建议为什么Eclipse说我的资源目录不可用?
我正在使用Ubuntu,我想搜索一个名为“ sdk”的特定目录。
我所知道的是,“ sdk”目录位于/ user目录下的某个位置
如何从终端搜索“ sdk”目录?
我尝试了以下 find / -name example docs -type d
但它说没有这样的文件或目录。
android ×7
java ×2
angular ×1
bundle ×1
enumeration ×1
imageview ×1
junit ×1
linux ×1
mockito ×1
opencv ×1
powermockito ×1
typescript ×1
ubuntu ×1
ubuntu-12.04 ×1
ubuntu-14.04 ×1
unit-testing ×1
url ×1
view ×1
viewstub ×1
xml ×1