Giriş
Şu satırı dahil ederiz.
Veri bir layout dosyasına uygun olarak gösterilir. Layout dosyasında sadece TextView olabilir. Eğer daha karmaşık bir layout kullanmak istersek CustomAdapter sınıfı kullanılır.
XML
Şöyle yaparız.
constructor - context , resource, objects
Context olarak activity, resource olarak layout ID,
objects olarak bir dizi veya List arayüzünü gerçekleştiren bir liste alabilir. Şöyle yaparız
Şöyle yaparız.
Şöyle yaparız.
İmzası şöyledir.
İmzası şöyle
Ekranı güncellemek için şöyle yaparız.
Şu satırı dahil ederiz.
import android.widget.ArrayAdapter;
Bu sınıf gösterilecek veriyi ListView nesnesine tanıtır.Veri bir layout dosyasına uygun olarak gösterilir. Layout dosyasında sadece TextView olabilir. Eğer daha karmaşık bir layout kullanmak istersek CustomAdapter sınıfı kullanılır.
XML
Şöyle yaparız.
<RelativeLayout
xmlns:android="http://schemas.android.com/apk/res/android"
android:orientation="vertical" android:layout_width="match_parent"
android:layout_height="match_parent">
<TextView
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginLeft="16dp"
android:layout_marginTop="16dp"
android:textAlignment="gravity"
android:layout_marginBottom="16dp"
android:id="@+id/audioText"/>
</RelativeLayout>
constructor - context , resource, objects
Context olarak activity, resource olarak layout ID,
objects olarak bir dizi veya List arayüzünü gerçekleştiren bir liste alabilir. Şöyle yaparız
String[] list = //get data from your database
ArrayAdapter<String> dataAdapter = new ArrayAdapter<String>(this,
android.R.layout.simple_spinner_item, list);
addAll metoduŞöyle yaparız.
String[] strings = ...;
dataAdapter.addAll (strings);
clear metoduŞöyle yaparız.
dataAdapter.clear ();
getFilter metoduİmzası şöyledir.
@Override
public Filter getFilter();
Adapter içindeki bazı nesneler gösterilmeyebilir. Şöyle yaparız.String searchQuery = searchPhrase.trim ();
if (searchQuery.length() > 0) {
dataAdapter.getFilter ().filter(searchPhrase);
dataAdapter.notifyDataSetChanged ();
...
}
getView metoduİmzası şöyle
@Override
public View getView(int position, View convertView, ViewGroup parent);
Metodun içini şöyle yaparız.@Override
public View getView(int position, View convertView, ViewGroup parent) {
// Get the data item for this position
User user = getItem(position);
// Check if an existing view is being reused, otherwise inflate the view
if (convertView == null) {
convertView = LayoutInflater.from(getContext()).
inflate(R.layout.item_user, parent, false);
}
// Lookup view for data population
TextView tvName = (TextView) convertView.findViewById(R.id.tvName);
TextView tvHome = (TextView) convertView.findViewById(R.id.tvHome);
// Populate the data into the template view using the data object
tvName.setText(user.name);
tvHome.setText(user.hometown);
// Return the completed view to render on screen
return convertView;
}
notifyDataSetChanged metoduEkranı güncellemek için şöyle yaparız.
dataAdapter.notifydatasetChanged ();