SORU
7 Kasım 2010, Pazar


Ne kadar ScrollView düzeni üstüne gidin?

Benim app bir parçası için, kullanıcı adlarının bir listesi sunulur ve uygun gördükleri gibi onları grup istedi.

(Not, Liste Görünümü kod verbatim Android Manzarası öğretici kopyalanmıştır. Henüz benim ihtiyaçları için özelleştirilmiş yapmadım, sadece bu işin nasıl yapıldığını anlamaya çalışıyorum.)

Temel düzeni bir LinearLayout, bir ScrollView içeren ("groupsScrollView" kod aşağıda), RelativeLayout içeren. İsim listesini gösteren bazı düğmeler ve metin, ve sonra benim Liste Görünümü altında bu var. Tüm bu görünür ekran alanının daha uzun, kullanıcı dikey olarak görmeye gitmek için izin verilir.

Bu güzel, sayfa yükler her zaman benim Liste Görünümü üst ön kaydırılan hariç-sayfanın ortasındaki çalışır. Ne kullanıcı söyleyen yarattım metin ve düğmeleri görünmez.

Ekran yakala ve yukarı kaydırma edebilirim, gayet güzel çalışıyor, ama yükleme ekranı gibi zaten kaydırılan beri üst etmek zorunda kalırım. Kullanıcı taze yüklenen bir sayfanın görmek için YUKARI çekmek zorunda kalmamalı. Ama programlı olarak ekranın üstüne gidin denedim her şey başarısız oldu.

Burada onCreate yöntemi:

protected void onCreate(Bundle savedInstanceState) {

    super.onCreate(savedInstanceState);

    setContentView(R.layout.groups);

    mainScrollView = (ScrollView)findViewById(R.id.groupsScrollView);

    //get the Bundle out of the Intent...
    Bundle extras = getIntent().getExtras();
    mNames = extras.getStringArray("mNames");

    setListAdapter(new ArrayAdapter<String>(this, R.layout.list_item, mNames));

    ListView lv = getListView();
    lv.setTextFilterEnabled(true);

    //This is the line I'm having issues with
    mainScrollView.pageScroll(View.FOCUS_UP);

    lv.setOnItemClickListener(new OnItemClickListener() {
        public void onItemClick(AdapterView<?> parent, View view,
            int position, long id) {
          // When clicked, show a toast with the TextView text
          Toast.makeText(getApplicationContext(), ((TextView) view).getText(),
              Toast.LENGTH_SHORT).show();
        }
      });
}

Hat "mainScrollView.pageScroll(Görüntüleyin.FOCUS_UP); sorun. Bir hata neden olmaz, ama bir şey yapmak için görünmüyor. ScrollTo(0,0), scrollDirection(View denedim.FOCUS_UP), ve aklıma gelen her şeyi.

Beri anlayamadığım bir hata var bakın bu kaydırma komutları işe yarıyor, ama onlar kaydırma için üst Liste Görünümü yerine, üst ScrollView veya RelativeLayout içeren. Bu der scrollTo Google'ın kendi açıklaması(int x, int y) yöntemi tarafından teyit edilecek gibi görünüyor "Bu sürüm de çocuğumuzun sınırları için kaydırma kelepçeleri.".

Yani bir soruya bile uzun uzun, nasıl bir yük demet manzarası ekranda bulunan içinde bir ScrollView, ve sonra program aracılığıyla kaydırma olayı için sayfanın üstüne çok kullanıcı iletişim kurabilirim?

Teşekkürler!

CEVAP
19 Mayıs 2012, CUMARTESİ


Aynı sorun, muhtemelen bir böcek vardı.

Hatta diğer cevap fullScroll(ScrollView.FOCUS_UP) bu işe yaramadı.
Benim için işe yarayan tek şey doğru iletişim gösterilir sonra scroll_view.smoothScrollTo(0,0) çağırıyordu.

Bunu Paylaş:
  • Google+
  • E-Posta
Etiketler:

YORUMLAR

SPONSOR VİDEO

Rastgele Yazarlar

  • Mega64

    Mega64

    24 ŞUBAT 2006
  • Randall P Studios

    Randall P St

    27 AĞUSTOS 2009
  • TecnoTutosPC

    TecnoTutosPC

    19 Kasım 2012