Listview son item görüküyor mu kontrolü
-
- Üye
- Mesajlar: 86
- Kayıt: 21 Ara 2013 09:05
- İletişim:
Listview son item görüküyor mu kontrolü
Merhaba, kolay gelsin.
Bir Android uygulama ile listview kullanmam gerekti. Veritabanındaki kayıtları parça parça listviewe yükletiyorum. Her seferinde en son kayda de "Daha fazla yükle" butonu geliyor. Buna tıklandığında bu buton silinip yerine diğer kayıtlar geliyor.
Benim yapmaya çalıştığım ise en sona "Daha fazla yükle" butonunun gelmesi yerine listview de scrolbar en sona dayandığında yükleme işlemi başlasın. Bunu yapmak mümkün müdür acaba?
Bir Android uygulama ile listview kullanmam gerekti. Veritabanındaki kayıtları parça parça listviewe yükletiyorum. Her seferinde en son kayda de "Daha fazla yükle" butonu geliyor. Buna tıklandığında bu buton silinip yerine diğer kayıtlar geliyor.
Benim yapmaya çalıştığım ise en sona "Daha fazla yükle" butonunun gelmesi yerine listview de scrolbar en sona dayandığında yükleme işlemi başlasın. Bunu yapmak mümkün müdür acaba?
[/size]http://www.componentler.com | Türkçe component sitesi
Re: Listview son item görüküyor mu kontrolü
Merhaba.
- ListView'in property listesinde PullToRefresh PullToRefreshWait özelliklerini TRUE yaptıktan sonra OnPullRefresh eventinden ilgili güncelleme procedure'ünüzü tetikleyebilirsiniz.
- Böylece ListView üzerinde listeyi aşağıya belirli bir oranda çektiğiniz zaman işlem yapılacaktır.
- Formunuzun üst kısmına bir tane de TAniIndicator eklersiniz. OnPullToRefresh olayında çalışan procedure içerisinde iki satır kod ekleyerek
güncelleme sırasında dönen progress animasyonunu görür, işi bittiğinde de bu TRUE edilen kısımları false eder kullanıcıları bilgilendirirsiniz.
- ListView'in property listesinde PullToRefresh PullToRefreshWait özelliklerini TRUE yaptıktan sonra OnPullRefresh eventinden ilgili güncelleme procedure'ünüzü tetikleyebilirsiniz.

- Böylece ListView üzerinde listeyi aşağıya belirli bir oranda çektiğiniz zaman işlem yapılacaktır.
- Formunuzun üst kısmına bir tane de TAniIndicator eklersiniz. OnPullToRefresh olayında çalışan procedure içerisinde iki satır kod ekleyerek
Kod: Tümünü seç
AniIndicator1.Visible := True;
AniIndicator1.Enabled := true;
-
- Üye
- Mesajlar: 86
- Kayıt: 21 Ara 2013 09:05
- İletişim:
Re: Listview son item görüküyor mu kontrolü
Hocam cevap için teşekkürler ancak benim yapmaya çalıştığım tam olarak bu değil. Söyle ki; Listview'e itemleri 9'ar 9'ar yüklüyorum. İlk dokuz item yüklendikten sonra listview scrolbar'ı en alta geldiğinde yani son item göründüğünde diğer 9 item otomatik yüklenecek. Örneğin bir facebook'taki gibi.
(Ben bu işlemi şimdilik şu şikilde yapıyorum. Listview'e yüklenen 9 item ile birlikte 1 item daha yükleyip bunu daha fazla yükle butonu olarak kullanıyorum. Bu iteme tıklandığında item siliniyor ve diğer 9 item ve yine sonuna daha fazla yükle itemi geliyor.)
(Ben bu işlemi şimdilik şu şikilde yapıyorum. Listview'e yüklenen 9 item ile birlikte 1 item daha yükleyip bunu daha fazla yükle butonu olarak kullanıyorum. Bu iteme tıklandığında item siliniyor ve diğer 9 item ve yine sonuna daha fazla yükle itemi geliyor.)
[/size]http://www.componentler.com | Türkçe component sitesi
-
- Üye
- Mesajlar: 86
- Kayıt: 21 Ara 2013 09:05
- İletişim:
Re: Listview son item görüküyor mu kontrolü
Anladığım kadarıyla bu hususun bir çözümü yok.
[/size]http://www.componentler.com | Türkçe component sitesi
Re: Listview son item görüküyor mu kontrolü
Merhabalar, kolay gelsin..
Tabiki bu sorunun çözümü vardır. Sadece mantıklı bir yaklaşımla çözüm bulunabilir.
Listview scrol tarafını kullanacağımız için tabiki kullanacağımız işlem:
Bu kod size scrolun bitiş noktasını gösterecektir.
Yapmanız gereken itemlerin genişliyini elde tutarak yola çıkmak.
Örnek olarak:
Yukarıda vermiş olduğum kaba örneği siz kendinize göre ayarlayıp ufak bir kod şeklinde düzenleye bilirsiniz.
Umarım yardımcı olur..
Başarılar..
Tabiki bu sorunun çözümü vardır. Sadece mantıklı bir yaklaşımla çözüm bulunabilir.
Listview scrol tarafını kullanacağımız için tabiki kullanacağımız işlem:
Kod: Tümünü seç
ScrollViewPos
Yapmanız gereken itemlerin genişliyini elde tutarak yola çıkmak.
Örnek olarak:
Kod: Tümünü seç
var
Form1: TForm1;
deger,
deger2 : Integer;
A, B : Integer;
AItem : TListViewItem;
implementation
{$R *.fmx}
procedure CountControl;
var
x : Integer;
begin with Form1 do
begin
for x := 0 to ListView1.Items.Count -1 do
begin
deger := x * AItem.Height;
end;
deger2 := AItem.Height * 5;
B := Ceil( StrToInt( FloatToStr((deger - ListView1.Height) - deger2)));
Label4.Text := IntToStr(B);
end;
end;
procedure TForm1.FormShow(Sender: TObject);
var
I: Integer;
begin
deger := 0;
deger2 := 0;
for I := 1 to 20 do
begin
AItem := ListView1.Items.Add;
AItem.Text := 'TEST '+ IntToStr(I);
AItem.Height := 50;
deger := I * AItem.Height;
end;
deger2 := AItem.Height * 5;
B := Ceil( StrToInt( FloatToStr((deger - ListView1.Height) - deger2)));
Label4.Text := IntToStr(B);
end;
procedure TForm1.ListView1ScrollViewChange(Sender: TObject);
begin
if A > B then
begin
Form1.OnShow(Sender);
CountControl;
end else begin
A := Ceil( StrToInt(FloatToStr(ListView1.ScrollViewPos)));
Label3.Text := IntToStr(A);
end;
end;
Umarım yardımcı olur..
Başarılar..
-
- Üye
- Mesajlar: 86
- Kayıt: 21 Ara 2013 09:05
- İletişim:
Re: Listview son item görüküyor mu kontrolü
RADCoder hocam cevap için teşekkür ediyorum. İlk fırsatta deneyip neticeyi burada paylaşacağım.
[/size]http://www.componentler.com | Türkçe component sitesi
-
- Üye
- Mesajlar: 86
- Kayıt: 21 Ara 2013 09:05
- İletişim:
Re: Listview son item görüküyor mu kontrolü
Hocam çok teşekkür ederim sorunsuzca çalıştı.
Sadece kısmını şeklinde değiştirdim.
Sadece
Kod: Tümünü seç
B := Ceil( StrToInt( FloatToStr((deger - ListView1.Height) - deger2)));
Kod: Tümünü seç
B := Ceil( deger - ListView1.Height) - deger2);
[/size]http://www.componentler.com | Türkçe component sitesi