NativeScript Angular2를 사용하고 있으며 내 페이지에서 사용자가 옵션을 선택하기 위해 ListPicker를 추가했습니다.NativeScript Angular2 - ListPicker가 Android에서 작동하지 않습니다.
<ListPicker #languagePicker id="languagePicker" [visibility]="langSelectStatus()" [items]="languages" class="mek-select-field" (selectedIndexChange)="selectedIndexChanged(languagePicker)"
>
</ListPicker>
다음은 CSS입니다 : 다음은 HTML 파일에 대한 코드입니다
.mek-select-field {
height: 70px;
border-color: lightblue;
border-width: 1px;
margin: 0;
}
내가 찾은 코드가 iOS에서 문제없이 실행, 다음 스크린 샷은 다음과 같습니다 ListPicker on iOS
그러나 Android에서는 ListPicker가 작동하지 않는 것으로 나타났습니다. 목록을 표시하지만 정의 된 옵션 사이를 스크롤 할 수는 없습니다. ListPicker on Android
다음은 환경 정보입니다 : 다음은 스크린 샷입니다
- NativeScript 버전 : 2.4.0
- NativeScript-각도 버전 : 1.1.3
- NativeScript 안드로이드 런타임 버전 : 2.4.1
- 안드로이드 에뮬레이터 : API 25 넥서스 6
NativeScript를 처음 사용하며 환경과 관련이 있는지 확실하지 않습니다.
모든 조언을 환영합니다. 미리 [2016년 11월 26일에 업데이트]
에서 감사 : 니코 더 많은 테스트를 통해 조언으로 샘플을 탐구함으로써, 나는 옵션 값은 HTTP 서비스를 통해 백엔드에서 가져올 때 동작 만 나타나는 것을 발견했다. 내가 옵션 목록을 변경하는 경우 예를 들어, 예제의 작성 - listpicker.component.ts 클래스, 코드 아래와 같이 HTTP를 백엔드에서 검색하기 :
export class CreatingListPickerComponent {
public pokemons: Array<string>;
public picked: string;
constructor(private http: Http) {
this.pokemons = [];
this.http.get('http://192.168.31.120:3000/pokemons').subscribe(
res => {
let list = res.json();
console.log(`Pokemon list: ${list}`);
for (var i = 0; i < list.length; i++) {
this.pokemons.push(pokemonList[i]);
}
}
);
/* for (var i = 0; i < pokemonList.length; i++) {
this.pokemons.push(pokemonList[i]);
}*/
}
public selectedIndexChanged(picker) {
console.log('picker selection: ' + picker.selectedIndex);
this.picked = this.pokemons[picker.selectedIndex];
}
}
을 어디에 하드와 동일한 값으로 엔드 포인트 의지 응답 값. 안드로이드 (에뮬레이터와 장치 모두)에서 위의 코드를 실행하면 ListPicker가 옵션 (또는 첫 번째 옵션)을 수시로 표시 할 수 없음을 알게되었습니다. 재 생산이 매우 쉽습니다. iOS에는이 문제가 없습니다.
ListPicker 옵션이 약간 지연되는 Http 백엔드에서 오는 경우 몇 가지 문제가 있다고 생각합니다.
친절하게 조언 클라렌스
.ListPicker에서 "items"는 ngOnInit()에서 http를 호출하고 결과가 백엔드에서 반환 될 때 "languages"변수를 채우는 Http 서비스 API 호출에 제공됩니다. 안드로이드에서처럼 보이는데, 아이템이 나중에 채워지면 ListPicker가 업데이트되지 않습니다. iOS에서이 문제는 발견되지 않습니다. –
안녕하세요 @Clarence, 좋은 출발점은이 샘플 프로젝트를 여기에서 검토하는 것입니다 - https://github.com/NativeScript/nativescript-sdk-examples-ng, NativeScript Angular 2 프로젝트에서 모든 NativeScript 구성 요소를 사용하는 방법이 나와 있습니다. . 귀하의 사례를 위해 https://github.com/NativeScript/nativescript-sdk-examples-ng/tree/master/app/ui-category/listpicker/creating-listpicker에서 예를 검토 할 수 있습니다. –
안녕하세요 @ Nikolay, 답장을 보내 주셔서 감사합니다. 예제 코드에서 테스트를했고 참조 용으로 내 게시물에 더 많은 정보를 추가했습니다. 많은 감사. –