1

私はxmlからビューを膨らませてレイアウトに追加しました:

View header = LayoutInflater.from(this).inflate(R.layout.lenta_parent_item,(FrameLayout)findViewById(R.id.frameContent), false);
header.setOnClickListener(new OnClickListener() {

        public void onClick(View header) {
            ...some code
        }
    }); 

メイン レイアウト xml:

<FrameLayout xmlns:android="http://schemas.android.com/apk/res/android"
                            android:layout_width="wrap_content"
                            android:layout_height="wrap_content"
                            android:id="@+id/frameContent">
<view ....

</FrameLayout>

アプリを実行すると、このビュー (「ヘッダー」) が表示されますが、クリックしても何も起こりません。イベントが発生していません。ビューのクリック イベントを取得するにはどうすればよいですか?

4

3 に答える 3

3

私はあなたのコンセプトを明確に理解していません。完全なxmlコードを投稿してクリックしたいものです。

View header ;
LayoutInflater inflater= LayoutInflater.from(this);
header=inflater.inflate(R.layout.lenta_parent_item,null, false);

私はあなたがcustomExapandablelistviewを右クリックしようとしていると思うので、このようにしてみてください。

PinnedHeaderExpListView listviewpinned=(PinnedHeaderExpListView )header.findViewbyId(R.id.list);
    listviewpinned.setOnItemClickListener(new OnClickListener() {

        public void onClick(View header) {
            ...some code
        }
    }); 
于 2012-05-25T08:09:33.480 に答える
0

android:clickable="false"FrameLayout に含まれるすべてのビューに対して設定android:clickable="true"し、FrameLayout 自体に対して設定することをお勧めします。

于 2012-05-25T08:04:26.340 に答える
0

これを使って。

View header = getLayoutInflater().inflate(R.layout.lenta_parent_item, null);
 header.setOnClickListener(new OnClickListener() {

    public void onClick(View view) {
        ...some code
    }
}); 
于 2012-05-25T08:05:47.910 に答える