Как получить событие OnClick при завышенном просмотре
Я раздул вид из 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>
Когда я запускаю свое приложение, я вижу это представление ("заголовок"), но когда я нажимаю на него, ничего не происходит. Событие просто не состоялось. Что я могу сделать, чтобы получить события клика для моего просмотра?
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
}
});
Я бы посоветовал вам установить android:clickable="false"
для всех представлений, содержащихся в вашем FrameLayout, и установите android:clickable="true"
для самого FrameLayout.
Использовать этот.
View header = getLayoutInflater().inflate(R.layout.lenta_parent_item, null);
header.setOnClickListener(new OnClickListener() {
public void onClick(View view) {
...some code
}
});