2011-10-15 15 views
6

ile highlite liste öğesini saklayın Google'dan (Android 3) yeni parçayı kullanarak bölünmüş bir görünüm uyguluyorum. Kullanıcı listeden bir şey seçtiğinde, ayrıntılar alanında şov değeridir ve liste öğesi vurgusunu işaretleyin.i dizi adaptör kullanıldığındaSimpleCursorAdapter

o liste öğesi ekledikten sonra odaklanmış tutmak şudur:

getListView().setChoiceMode(ListView.CHOICE_MODE_SINGLE); 
getListView().setItemChecked(postition, true); 

ama SimpleCursorAdapterkullanarak veritabanını kullanır ve özel satır xml i bas sadece zaman vurgulamak olduğunu dosyaya değiştirdiğinizde .

Listenizi satır için aktive stili ayarlamak gerekir

cevap

9

"i liste görünümünde vurgulamak öğeyi tutmak istiyorum". Yakalama, bunun sadece API Seviye 11 ve üstü sürümlerde mevcut olması.

Bunu yapmanın bir yolu, iki ayrı stil kullanmaktır. res/values-v11/styles.xml şunlara sahip olabilir:

<?xml version="1.0" encoding="utf-8"?> 
<resources> 
    <style name="activated" parent="android:Theme.Holo"> 
    <item name="android:background">?android:attr/activatedBackgroundIndicator</item> 
    </style> 
</resources> 

res/values/styles.xml Oysa sen olurdu:

<?xml version="1.0" encoding="utf-8"?> 
<resources> 
    <style name="activated"> 
    </style> 
</resources> 

Kişisel satır düzeni sonra activated tarzı gibi o kullanır:

<?xml version="1.0" encoding="utf-8"?> 
<TextView xmlns:android="http://schemas.android.com/apk/res/android" 
    android:id="@android:id/text1" 
    android:layout_width="match_parent" 
    android:layout_height="wrap_content" 
    android:textAppearance="?android:attr/textAppearanceLarge" 
    android:gravity="center_vertical" 
    android:layout_marginLeft="4dip" 
    android:minHeight="?android:attr/listPreferredItemHeight" 
    style="@style/activated" 
/> 

ile birlikte sizin Mevcut CHOICE_MODE_SINGLE mantığı, satırınıza dokunulduktan sonra satırınızı aktif bırakacaktır.

+0

TEŞEKKÜR EDEREK SORU VEYA KABUL ETTİĞİNE BAŞVURUYORUM. – Alex

+0

teşekkürler, ancak markanın rengini nasıl değiştirileceğini ve değerlerin ne anlama geldiğini-v11 – Alex

+1

@ahmed: "markanın rengini değiştirmek için nasıl" - stil noktalarında android: background 'değerinin ne olduğunu değiştirin için. Şu anda, sistem tanımlı bir temadan bir değere ('android: attr/aktifBackgroundIndicator') işaret ediyor. "values-v11'in anlamı nedir" - Android, bu dizindeki kaynakları API Düzey 11 ve üstü olan cihazlarda kullanacaktır. Eski cihazlar bu dizini yok sayar. – CommonsWare

İlgili konular