2012-02-18 19 views
5

Android'de çok yenilik yapıyorum. Biraz yardıma ve önerinize ihtiyacım var.
Geçtiğimiz ocak ayında Android'de çalışıyorum, burada bir sorunum var. Hala Android 2.3 için uygulama üzerinde çalışıyorum. Çok çok basit bir uygulama. Aksiyon çubuğunu okudum ve greendroid, sherlock actionbar ve son Johan Nilson actionbar gibi kütüphaneye öneriyorum. Uygulamamda onu entegre etmekte hala zorlanıyorum. Bu yüzden kendi eylem barımı oluşturmaya çalışıyorum ve sorun tek tek geldi. Bunlardan biri: ListView görünümünde hareket etmek için liste çubuğunu kaydırmak bile zor olsa da liste görünümü aşağı kaydırmak bile zor.ListActivity'de eylem çubuğu ekleme

//try action button in actionbar 
Menu1 = (Button) this.findViewById(id.button1); 
Menu1.setOnClickListener(new OnClickListener(){ 
    @Override 
    public void onClick(View v) 
    { 
     Toast.makeText(List_direktoriJson.this, "action bar..", Toast.LENGTH_LONG).show();   
    } 
}); 

nasıl bir yol, ben Eylem çubuğunu istyorsan .. değil tıklama etkinliğinde çalışan

View header = getLayoutInflater().inflate(R.layout.header, null); 
ListView listView = getListView(); 
listView.addHeaderView(header); 

ve düğme & ımagebutton: İşlem çubuğunun son düzen de ListView başlığına oluşturmak liste görünümü düzeninde üstte? Düğme ve görüntü düğmesi neden tıklandığında çalışmıyor?

cevap

0

ListView üstbilgisine neden işlem çubuğu ekliyorsunuz? Bunu yaparsanız, eylem çubuğu her zaman ListView ile kayar. ListActivity öğenizin düzenine eylem çubuğu ekleyin. gibi bir şey:

<merge xmlns:android="http://schemas.android.com/apk/res/android"> 

    <include 
     android:id="@+id/action_bar" 
     layout="@layout/header" /> 

    <ListView 
     android:id="@android:id/list" 
     android:layout_width="match_parent" 
     android:layout_height="match_parent" /> 

    <!-- May be some other views --> 

</merge> 

Sonra etkinliğin içeriği görünümü seti onCreate() yılında:

@Override 
protected void onCreate(Bundle savedInstanceState) { 
    super.onCreate(savedInstanceState); 

    setContentView(R.layout.layout_of_the_activity); 
    setListAdapter(...); 

    // get action bar view 
    View header = findViewById(R.id.action_bar); 

    // and then set click listeners. Note that findViewById called on header, not on this 
    Menu1 = (Button) header.findViewById(R.id.button1); 
    Menu1.setOnClickListener(...); 
} 

Article about <merge> and <include> tags. Eğer Sherlock gibi Eylem Çubuğu kütüphaneleri birini içerecek şekilde yönetebilir Eğer

2

, çok daha basit olacaktır:

private class YourListActivity extends SherlockListActivity { 

} 
İlgili konular