以下のように単純なドロップダウンリスト/ listview
を作成したいと思います。 xmlレイアウトを使用せずにプログラムで生成する必要があります。単純なドロップダウンリスト/リストビューをプログラムでアンドロイドで作成する方法
:私はここでスピナーを使用していません。また、スイッチの横にあるImageViewをクリックすると開きます。
私はこのことについては考えています。
アイデアをお持ちですか?
以下のように単純なドロップダウンリスト/ listview
を作成したいと思います。 xmlレイアウトを使用せずにプログラムで生成する必要があります。単純なドロップダウンリスト/リストビューをプログラムでアンドロイドで作成する方法
:私はここでスピナーを使用していません。また、スイッチの横にあるImageViewをクリックすると開きます。
私はこのことについては考えています。
アイデアをお持ちですか?
私はこれにPopupMenu
'sを使用します。 this guideも参照してください。このガイドでは、PopupMenu
をxmlメニューリソースで使用する方法について説明します。
あなたの場合、クリックリスナーをImageViewに添付します。そのリスナーは、ImageViewをアンカーとして使用してPopupMenuを作成します。このように:あなたは、ANを作成することができます(PopopMenu.getMenuを呼び出す)、手動でのMenuItem
PopupMenu popup = new PopupMenu(imageView.getContext(), imageView);
この時点で、次のオプションを持っていますその後、XMLのメニューリソースと
ありがとう、私はこれを試してあとでお知らせします。 – Barrier
ない完璧を変更する必要があるが、それが動作/非表示のものを調整;)
button.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
PopupMenu popupMenu = new PopupMenu(MainActivity.this, button);
popupMenu.getMenu().add("Edit");
popupMenu.getMenu().add("Delete");
popupMenu.setOnMenuItemClickListener(new PopupMenu.OnMenuItemClickListener() {
@Override
public boolean onMenuItemClick(MenuItem item) {
switch (item.getTitle().toString()) {
case "Edit" :
//execute "edit" action
break;
case "Delete" :
//execute "delete" action
break;
}
return false;
}
});
popupMenu.show();
}
});
答えをありがとう。しかし、私はこれを使うことに問題があります。最後のポップアップメニューがボタンの上に表示されています。どうすればそれを止めることができますか?私はGravityを設定しようとしましたが、うまくいきませんでした。 – Barrier
http://stackoverflow.com/questions/34565481/add-a-drop-down-menu-for-each-item-of-custom-listview –
@Barrier Gladを参考にしてください。アンカーボタンの下に十分なスペースがあれば?ドキュメントから:「ポップアップはアンカーの下に表示されます(空きがある場合は表示されません)。 –
Just try to check and implement it
PopupMenu overflowPopupMenu = new PopupMenu(getContext(), finalOverflow);
overflowPopupMenu.getMenuInflater().inflate(R.menu.popup_overflow_options, overflowPopupMenu.getMenu());
overflowPopupMenu.setOnMenuItemClickListener(new PopupMenu.OnMenuItemClickListener() {
@Override
public boolean onMenuItemClick(android.view.MenuItem item) {
switch (item.getItemId()) {
case R.id.edit:
break;
case R.id.delete:
break;
}
return true;
}
});
overflowPopupMenu.show();
popup_overflow_options.xml
<?xml version="1.0" encoding="utf-8"?>
<menu xmlns:android="http://schemas.android.com/apk/res/android"
>
<item
android:id="@+id/edit"
android:title="@string/edit"/>
<item
android:id="@+id/delete"
android:title="@string/delete"/>
</menu>
の可能性のある重複した[ドロップダウンリストを作成する方法?](http://stackoverflow.com/questions/13377361/how-to-create-a -drop-down-list) –
なぜプログラムでなければならないのですか? – MidasLefko
@MidasLefko:上に動的に行を追加しました。したがって、他のコンポーネントを動的に生成する必要があります。 – Barrier