• Anasayfa
  • Hakkımızda
  • Etkinlikler
  • Destek Verin
  • Site Haritası
  • Giriş Yap
  • Üye Ol
  • Facebook
  • Twitter
  • RSS
Yazılım Dilleri
  • Soru - Cevap
  • EĞİTİM SETİ
  • KATEGORİ
  • DUYURU
  • TEKNOLOJİ HABERLERİ

Son Sorular

  • 8/2/2020 11:38:31 PM'Basit' Yazılım Dili
  • 6/25/2020 3:18:13 PMderleme hatası
  • 12/11/2017 4:49:15 PMWindows Hizmeti Hk.
  • 4/23/2016 12:55:33 AMC programlama 2 oyun

Popüler Sorular

  • 5/27/2012 5:49:50 AMAsp.Net ile Date time alana veri ekleyemiiyorum ?
  • 4/2/2012 12:45:18 AM.exe uzantılı dosya için dijital imza nerde nasıl alınır.
  • 5/12/2012 8:44:49 AMAcil Yardım
  • 5/27/2012 1:46:51 PMveri tabanı bağlantısı
  • .Net Framework
  • 8085 Assembly
  • Active Directory
  • ADO.NET
  • Android
  • Apple IOS
  • Arduino
  • ASP.NET
  • ASP.NET MVC
  • Blackberry
  • C#.Net
  • C++
  • CCG Framework
  • CISCO
  • CSS
  • Diğer
  • Dreamweaver
  • Entity Framework
  • Exchange Server
  • Gömülü Sistemler
  • GSM Programlama
  • Güncel
  • Güvenlik
  • HTML5
  • Java
  • Javascript / JQuery
  • Jira
  • Kariyer ve İş Yaşamı
  • LibreOffice
  • LINQ
  • Linux
  • Matlab
  • Microsoft Dynamics CRM
  • Mobil Uygulama Geliştirme
  • MySQL
  • NoSQL
  • Oracle
  • OWIN
  • PFSense
  • PHP
  • Powershell
  • Python
  • Sanallastirma
  • SAP-ABAP
  • SCOM 2012
  • SEO
  • Sharepoint 2010
  • Sharepoint 2013
  • Silverlight
  • Sistem Analiz ve Tasarımı
  • SQL Server
  • Symantec
  • TFS
  • T-SQL
  • Ubuntu
  • VB.NET
  • Veritabanı Yönetim Sistemleri
  • Visual Studio
  • VMware
  • WCF
  • Web Hosting
  • Windows 8
  • Windows Azure
  • Windows Phone 7.1
  • Windows Phone 8
  • Windows Server
  • Wordpress
  • WPF
  • Xamarin
  • XNA
  • Yazılım Mühendisliği
  • Yöneylem Araştırması
  • ASP.NET MVC
  • Entity Framework
  • Javascript / JQuery
  • LINQ
  • PHP

Son Duyurular

IPhone 6 ve IPhone 6 Plus Teknik Özellikleri ve Fiyatı

IPhone 6 ve IPhone 6 Plus Teknik Özellikleri ve Fiyatı

DELL'in Yeni Projesi: USB Bilgisayar (Project Ophelia)

DELL'in Yeni Projesi: USB Bilgisayar (Project Ophelia)

Windows Phone Youtube Uygulaması Google ve Microsoft ile Yeniden Yapılıyor

Windows Phone Youtube Uygulaması Google ve Microsoft ile Yeniden Yapılıyor

Android ve Apple IOS Telefonlar için Blackberry Messenger (BBM)

Android ve Apple IOS Telefonlar için Blackberry Messenger (BBM)

Nokia Lumia 925 Teknik Özellikleri, Lumia 928 ve 920 ile Karşılaştırması

Nokia Lumia 925 Teknik Özellikleri, Lumia 928 ve 920 ile Karşılaştırması

LG Optimus G Pro Özellikleri ve Gözle Video Oynatma Teknolojisi

LG Optimus G Pro Özellikleri ve Gözle Video Oynatma Teknolojisi

Android Search Bar Kullanımı

Android Uygulama geliştirme konularında SearchView ile Search Bar yaparak uygulama içerisinde özel arama seçeneği sağlamaktır. ActionBar yöneterek Search View..

16.02.2016

Yazar: Barış Ceviz (Google+)

Kategori: Android

5440

Selamlar, Benden beklenmeyen bir yazı olacak. Bu yazımda Android uygulama geliştirme hakkında bir makale olacak. Beni baya uğraştıran bir sorunun çözümünden bahsedeceğim. Kodları belirli kaynaklardan almama rağmen yine de hata aldım ve kaynakta bunu yaşayan görmedim. Çok ilginç bir durumdu. Bu kaynaklar İngilizce web sitelerden alınmıştır. Yazı sonunda kaynakça olarak paylaşacağım. Bahsettiğim SearchBar dediğim kontrolün şekli aslında aşağıdaki gibidir. Bu tasarımın nasıl yapılacağını bahsedeceğim.

Android SearchBar Görünüm 1 Android SearchBar Görünüm 2 Android SearchBar Görünüm 3  

Gördüğünüz gibi 3 ekrandaki durumu gerçekleştireceğiz. Burada arama butonunu uygulama menüsüne ekliyoruz. Böylelikle uygulama başlığında açılabilir hal alıyor. Action Bar olarak geçen bu durum içerisinde geliyor. İlk yapmamız gereken kullandığımız Activity nin menu xml dosyasını açalım. İçerisine aşağıdaki kodu ekleyelim.

<item
        android:id="@+id/action_ara"
        android:title="Ara"
        app:showAsAction="always"
        android:actionLayout="@layout/activity_ana_sayfa"
        app:actionViewClass="android.widget.SearchView" />

Burada title ı string.xml dosyasından alabilirsiniz. ShowAsAction değeri always olarak ayarlıyoruz. Bu değerin amacı SearchView ın arama ikonunun ön planda durması ve menünün alt açılır menü olmadan tıklanabilir hale getirir.İsterseniz never yapıp görebilirsiniz sonucu. ActionLayout değerini kullandığınız Activity nin id değerini girmeniz gereklidir. Ve son değer ActionViewClass. Bu değer bulduğum kaynakta android altında tanımlanıyor fakat uygulamada null olarak geliyordu. android yerine app yazdığım anda istediğim değeri aldım. Burada yaptığımız işlem ise bu menu item ın SearchView kontrol olduğunu belirtiyoruz. Bu şekilde menu item ı tanımlıyoruz. Burayı tamamladıktan Activity xml dosyasında bir TextView ekleyelim. Bu sayede yazdığımız arama değerini işeme olayını gösterebilmek içindir. Aşağıdaki kodu ekleyelim.

<TextView
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:textAppearance="?android:attr/textAppearanceLarge"
        android:id="@+id/txtSonuc"
        android:layout_alignParentTop="true"
        android:layout_alignParentLeft="true"
        android:layout_alignParentStart="true" />

Yukarıdaki kodu ekledikten sonra arka plana geçerek Java dosyasına geçelim. Imports bölümüne kodlarımızı ekleyelim.

import android.support.v7.app.ActionBarActivity;
import android.view.Menu;
import android.view.MenuInflater;
import android.view.View;
import android.widget.SearchView;
import android.widget.TextView;

Gerekli Import larımızı yaptıktan sonra global olarak SearchView ve TextView tanımlayalım.

    private SearchView mSearchView;
    private TextView txtSonuc;

Global değişkenlerimizi tanımladıktan sonra onCreate event ine gelelim ve orada kodların sonuna bir kaç kod ekleyelim. Bu kod parçası bizim TextView u tanımlasın.

txtSonuc = (TextView)findViewById(R.id.textView);

Bu tanımı da yaptıktan sonra onCreateOptionMenu event ini açarak bu event içerisinde kodlarımızı yazalım. Aslında tüm iş burada saklı.

        MenuInflater inflater = getMenuInflater();
        inflater.inflate(R.menu.menu_ana_sayfa, menu);
        mSearchView = (SearchView) menu.findItem(R.id.action_ara).getActionView();
        mSearchView.setOnQueryTextListener(new SearchView.OnQueryTextListener() {
            @Override
            public boolean onQueryTextSubmit(String query) {
                sonuc(query);
                return true;
            }

            @Override
            public boolean onQueryTextChange(String newText) {
                sonuc(newText);
                return true;
            }

            public void sonuc(String query) {
                txtSonuc.setText(query);
            }

        });
        return true;
MenuInflater ile menu elementlerini elde etmek için bir yapı alıyoruz. Burada hangi menu xml ve değişkeni olduğunu parametre olarak inflate methoduna veriyoruz. Buradan tanımladığımız SearchView a finditem ile id sine göre buluyoruz ve tanımlıyoruz. Tanımlama kodumuzun altında SearchView da yazılan değeri alabilmek için TextChange event ı dinlememiz gerek. Bunun için setOnQueryTextListener event i tanımlıyoruz. İçerisinde iki tane override method tanımlanıyor. Tanımlanan override methodlardaki değerleri sonuc methoduna gönderiyoruz ve bu method bizim tanımladığımız TextView da gösteriyor. Bu şekilde örneğimizi tamamlıyoruz.
Yazımızı bu şekilde tamamlayarak ilk Android Uygulama Geliştirme yazım oluyor.  Umarım yararlı bir yazı olmuştur. Selametle 

​Kaynak: http://www.java2s.com/Code/Android/UI/UsageofSearchViewinanActionBarasamenuitem.htm

Yazar Hakkında

Barış Ceviz

Barış Ceviz

www.barisceviz.com/

Full Stack Developer

Sosyal Medya

ORANLAR

  • 5440izleme

Arkadaşlarınla Paylaş

  • Tweet

0 Yorum

Yorum Yaz / Soru Sor

Lütfen yorum yazmak veya soru sormak için üye girişi yapınız.

Son Yorumlar

  • Böyle bir sayfalama ağ trafiğini hafifleti...
  • Böyle bir sayfalama ağ trafiğini hafifleti...
  • Merhaba, ellerinize sağlık çok yardımcı ol...
  • Merhaba Bu uygulama örneğinden ASP.net ...
  • Hocam Link başka sayfaya yönlendiriyor.

En Güncel Sorular

  • Bilgilendirme maili (C#.Net)
  • Power Pivot (Sharepoint 2010)
  • BigInteger, BigDecimal (Asp.Net ve Asp.Net MVC)
  • visual C# ile asp nette veritabanı islemleri (Asp.Net ve Asp.Net MVC)
  • Share Point ile Dosya Arşiv Yönetim Sistemi yapılabilir mi ? (Sharepoint 2010)

En Son Cevap Verilen Sorular

  • Bilgilendirme maili
  • BigInteger, BigDecimal
  • visual C# ile asp nette veritabanı islemleri
  • Share Point ile Dosya Arşiv Yönetim Sistemi yapılabilir mi ?
  • txt dosyasına veri yazma

Twitter

Takip et: @yazilim_dilleri

En Çok Okunanlar

Elif BAYRAKDAR

C# ile SQL Server Bağlantısı, Insert, Update ve Delete Sorguları

23.05.2013

  • 123823
  • 0
Hakan Keskin

C# ile Windows Service Projesi Oluşturma, Debug Etme ve Setup Hazırlama

17.12.2013

  • 70897
  • 0
batuhan avlayan

Php - Mail Gönderme (İletişim Formu)

02.09.2013

  • 51538
  • 0

Sponsorlar

KODLAB
Pluralsight
Exchange server is
Office 365
YAZILIM DİLLERİ
Yukarı Çık
  • Hakkımızda
  • Facebook
  • Twitter
  • RSS

© Yazılım Dillerinin Buluşma Noktası | Kaynak belirtildiği sürece makaleler kopyalanabilir.
YazilimDilleri.Net sitesinde yer alan kullanıcıların oluşturduğu tüm içeriklerin yayınlanması ile ilgili yasal yükümlülükler içeriği oluşturan kullanıcıya aittir, YazilimDilleri.Net hiçbir şekilde sorumlu değildir.

Kapat

Giriş Yap

Kullanıcı Adı

Şifre

Şifremi Unuttum

KULLANICI GİRİŞİ