Android 앱에서 작업 중이며 영역 데이터베이스를 사용하고 있습니다. ImageView, 제목, 태그, 설명이 포함 된 목록보기에 대한 사용자 지정 레이아웃이 있습니다. realm.beginTransaction ()을 사용하여 영역에 데이터를 저장했는데 BaseAdapter (Custom ListView)의 getView 메서드에서 이러한 데이터를 호출하는 방법에 어려움이 있습니다.
이것은 RealmObject의 코드입니다.
public class Ads extends RealmObject {
@PrimaryKey
private String adId;
private String adTitle;
private String adTags;
private String adDescription;
private String adImages;
public Ads() {
}
public String getAdId() {
return adId;
}
public void setAdId(String adId) {
this.adId = adId;
}
public String getAdTitle() {
return adTitle;
}
public void setAdTitle(String adTitle) {
this.adTitle = adTitle;
}
public String getAdTags() {
return adTags;
}
public void setAdTags(String adTags) {
this.adTags = adTags;
}
public String getAdDescription() {
return adDescription;
}
public void setAdDescription(String adDescription) {
this.adDescription = adDescription;
}
public String getAdImages() {
return adImages;
}
public void setAdImages(String adImages) {
this.adImages = adImages;
}
}
그것이 내가 활동에 데이터를 저장하는 방법입니다.
try {
realm = Realm.getDefaultInstance();
realm.beginTransaction();
Ads newAd = realm.createObject(Ads.class);
newAd.setAdId(UUID.randomUUID().toString());
newAd.setAdTitle(_txt_postTitle.getText().toString());
newAd.setAdTags("Android|Facebook|ChatHead");
newAd.setAdDescription(_txt_postDesc.getText().toString());
newAd.setAdImages(ImageString);
realm.commitTransaction();
Toast.makeText(TimeLineActivity.this, "Post Created", Toast.LENGTH_SHORT).show();
} catch (Exception ex) {
ex.printStackTrace();
}
이제이 데이터를 가져 와서 getView 메서드에서 BaseAdaper에 사용할 수있는 방법에 대한 질문이 여기에 있습니다.
@Override
public View getView(int i, View convertview, ViewGroup viewGroup) {
ViewHolder holder;
if(convertview == null) {
convertview =inflater.inflate(R.layout.timeline_row_item,null);
holder = new ViewHolder();
realm = Realm.getDefaultInstance();
holder._imgProfilePic = (ImageView) convertview.findViewById(R.id.img_profile_pic);
holder._bigImage = (ImageView) convertview.findViewById(R.id.big_image);
holder._small_Image_a = (ImageView) convertview.findViewById(R.id.small_image_a);
holder._small_Image_b = (ImageView) convertview.findViewById(R.id.small_image_b);
holder._small_Image_c = (ImageView) convertview.findViewById(R.id.small_image_c);
holder._postTitle = (TextView) convertview.findViewById(R.id.txt_post_title);
holder._postTagLine = (TextView) convertview.findViewById(R.id.txt_post_tagline);
holder._postedOn = (TextView) convertview.findViewById(R.id.txt_posted_on);
holder._postDescription = (TextView) convertview.findViewById(R.id.txt_post_description);
holder._postPlusMore = (TextView) convertview.findViewById(R.id.txt_plus_more);
convertview.setTag(holder);
} else {
holder = (ViewHolder) convertview.getTag();
}
RealmResults<Ads> ads = realm.allObjects(Ads.class);
//Here Like
// Like holder._postTitle(getTitle From Realm Stored Data)
return convertview;
}
레이어를 분리하십시오. 쿼리를 쿼리하고 일부 데이터를 프로젝션하는 것은 동일한 프로세스가 아닙니다. 데이터를 DAO 또는 db 액세스 레이어로 가져 와서 가져온 다음 결과를 사용자 지정 목록보기에 대한 소스 목록으로 설정합니다.
이 기사는 인터넷에서 수집됩니다. 재 인쇄 할 때 출처를 알려주십시오.
침해가 발생한 경우 연락 주시기 바랍니다[email protected] 삭제
몇 마디 만하겠습니다