나는 두 개의 버튼이 있고 TV 쇼의 연도가 2014 년 이상 이고이 조건을 적용하는 데 성공한 경우 하나의 버튼``NEW TV SHOW ''를 표시하고 싶습니다.
if (serija.getYear() >= 2014) {
prikaziDugme();
} else {
nePrikazujDugme();
}
하지만 다른 버튼에이 두 번째 조건을 적용하면 작동하지 않습니다.
if (serija.getPremijera() == "premijera"){
prikaziPremijeraDugme();
nePrikazujDugme();
nePrikazujZvezdu();
} else{
nePrikazujDugme();
nePrikazujPremijeraDugme();
}
이 두 번째 조건은이 버튼이 String이있는 경우에만 표시 "premijera"
되지만 첫 번째 버튼을 거기에 표시하고 싶지 않으며 등급 별을 나타내는 하나의 ImageView를 표시하고 싶지도 않습니다. 레이아웃의이 두 번째 버튼에 gone
대한 가시성을 설정했으며 제 방법에서는 가시성을 "visible"로 설정하고이 if 문에서 해당 메서드를 호출합니다. 그러나 뭔가가 작동하지 않습니다.
이 작업을 완료하려는 어댑터의 전체 코드는 다음과 같습니다.
@Override
public View getView(final int position, View convertView, ViewGroup parent) {
if (inflater == null)
inflater = (LayoutInflater) activity
.getSystemService(Context.LAYOUT_INFLATER_SERVICE);
if (convertView == null)
convertView = inflater.inflate(R.layout.tv_show_now_row, null);
if (imageLoader == null)
imageLoader = AppController.getInstance().getImageLoader();
NetworkImageView thumbNail = (NetworkImageView) convertView
.findViewById(R.id.thumbnail);
TextView title = (TextView) convertView.findViewById(R.id.title);
TextView rating = (TextView) convertView.findViewById(R.id.rating);
TextView year = (TextView) convertView.findViewById(R.id.year);
TextView kanal = (TextView) convertView.findViewById(R.id.kanal);
TextView showtime = (TextView) convertView.findViewById(R.id.vreme_prikazivanja_serije);
TextView premijera = (TextView) convertView.findViewById(R.id.premijera);
btn_novo = (Button) convertView.findViewById(R.id.button1);
btn_premijera = (Button) convertView.findViewById(R.id.button2);
rating_star = (ImageView) convertView.findViewById(R.id.rating_star);
// getting tvShow data for the row
Serija serija = tvShowItems.get(position);
// setting the result for images and textviews
thumbNail.setImageUrl(serija.getImage(), imageLoader);
title.setText(serija.getTitle());
rating.setText(serija.getRating());
year.setText(String.valueOf(serija.getYear()));
kanal.setText(serija.getKanal());
showtime.setText(serija.getShowtime());
premijera.setText(serija.getPremijera());
if (serija.getYear() >= 2014) {
prikaziDugme();
} else {
nePrikazujDugme();
}
if (serija.getPremijera() == "premijera"){
prikaziPremijeraDugme();
nePrikazujDugme();
nePrikazujZvezdu();
} else{
nePrikazujDugme();
nePrikazujPremijeraDugme();
}
Animation animation = AnimationUtils.loadAnimation(activity, (position > lastPosition) ? R.anim.up_from_bottom : R.anim.down_from_top);
convertView.startAnimation(animation);
lastPosition = position;
return convertView;
}
private void prikaziDugme() {
btn_novo.setVisibility(View.VISIBLE);
}
private void nePrikazujDugme() {
btn_novo.setVisibility(View.GONE);
}
private void prikaziPremijeraDugme() {
btn_premijera.setVisibility(View.VISIBLE);
}
private void nePrikazujPremijeraDugme() {
btn_premijera.setVisibility(View.GONE);
}
private void nePrikazujZvezdu() {
rating_star.setVisibility(View.GONE);
}
}
나는 케이스도 시도했지만 운이 없었습니다.
사용하는 대신:
if (serija.getPremijera() == "premijera"){
...
..
}
이것을 사용하십시오 :
if (serija.getPremijera().equals("premijera")){
...
..
}
이 기사는 인터넷에서 수집됩니다. 재 인쇄 할 때 출처를 알려주십시오.
침해가 발생한 경우 연락 주시기 바랍니다[email protected] 삭제
몇 마디 만하겠습니다