2012-02-18 8 views
5

私はAndroidでは非常に初心者です。私はここでいくつかの助けとあなたの提案が必要です。
私は最後の1月からAndroidで仕事をしていますが、私はここでいくつかの問題があります。私はまだAndroid 2.3のアプリで作業しています。非常に非常に簡単なアプリ。 私はアクションバーについて読んだことがあります。私はgreendroid、sherlockアクションバー、最後のJohan Nilsonアクションバーなどライブラリに提案しました。私はまだ私のアプリにそれを統合するのが難しいです。だから私は自分自身のアクションバーを作成しようとすると、トラブルが一つずつ来た。次のうちの1つ:リストビューをスクロールダウンしても、アクションバーとリストビューを組み合わせて画面の上部に留まるのは難しいです。最後にアクションバーのレイアウトは、リストビューのヘッダに生成します。ListActivityにアクションバーを追加する

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

とクリックイベントのために働いていないボタン& IMAGEBUTTON ..

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

どのような方法、私はまだアクションバーをしたい場合リストビューレイアウトの上に?なぜ、ボタンをクリックしたときにボタンと画像ボタンが機能しないのですか?

答えて

0

なぜ、アクションバーをListViewヘッダに追加していますか?これを行うと、アクションバーは常にListViewと共にスクロールします。 ListActivityのレイアウトにアクションバーを追加します。ような何か:

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

その後の活動のコンテンツビューセットonCreate()中:

@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

あなたは、このようなシャーロックなどのアクションバーのライブラリのいずれかを含めるように管理することができれば、それははるかに簡単になります。

private class YourListActivity extends SherlockListActivity { 

} 
関連する問題