2012-02-18 36 views
5

Tôi là người mới sử dụng trong Android. Tôi cần một số trợ giúp và gợi ý của bạn ở đây.
Tôi đang làm việc trong Android bắt đầu từ tháng 1 năm ngoái, tôi gặp một số sự cố ở đây. Tôi vẫn đang làm việc trên ứng dụng cho Android 2.3. Ứng dụng rất đơn giản. Tôi đã đọc về thanh tác vụ và tôi đã đề xuất với thư viện như greendroid, thanh tác vụ khóa và thanh tác vụ Johan Nilson cuối cùng. Tôi vẫn gặp khó khăn khi tích hợp nó vào ứng dụng của mình. Vì vậy, tôi cố gắng để tạo ra thanh hành động của riêng tôi và rắc rối đến từng người một. Một trong số: rất khó để kết hợp thanh tác vụ với ListView của tôi để vẫn ở trên đầu màn hình ngay cả khi chế độ xem danh sách cuộn xuống. Cuối cùng cách bố trí của thanh hành động tạo thành tiêu đề của ListView:Thêm thanh tác vụ vào ListActivity

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

và nút & ImageButton không làm việc cho sự kiện click ..

//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();   
    } 
}); 

Làm thế nào đường đi, nếu tôi muốn thanh hành động vẫn ở trên cùng trong bố cục chế độ xem danh sách? Và tại sao nút và nút ảnh không hoạt động khi nhấp?

Trả lời

0

Tại sao bạn thêm thanh tác vụ vào tiêu đề ListView? Nếu bạn làm điều này, thanh tác vụ sẽ luôn cuộn với ListView. Thêm thanh tác vụ vào bố cục của ListActivity của bạn. Một cái gì đó như:

<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> 

Sau đó, trong onCreate() bộ xem nội dung của hoạt động:

@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.

2

Nếu bạn có thể quản lý để bao gồm một trong những thư viện Action Bar như Sherlock, nó sẽ đơn giản hơn nhiều:

private class YourListActivity extends SherlockListActivity { 

} 
Các vấn đề liên quan