0

まず第一に、私はAndroidのプログラミングとStackOverflowが初めてです!!

ListView を動的に作成しました。つまり、ファイルから行を含むリストをロードします。

今、私がやりたいことは、アイテムがクリックされたときにオプションメニューのようなメニューを起動することです.

検索したところ、簡単な方法は inflate メソッドを使用することですが、メニューを引数として使用します。ただし、AdapterView、View arg1、int arg2、および long arg3 を引数として使用する OnItemClick でリスナーを設定しましたが、inflate メソッドのメニューが必要です ... :S

mainactivity のコードは次のとおりです。

public void onCreate(Bundle savedInstanceState) {
   super.onCreate(savedInstanceState);
   setContentView(R.layout.menu);

   ListView list = (ListView) findViewById(R.id.listView1);

   func = getTurmas();
   list.setAdapter(new ArrayAdapter<String>(this, android.R.layout.simple_list_item_1, func));

   list.setOnItemClickListener(new AdapterView.OnItemClickListener()  {  

            public void onItemClick(AdapterView<?> arg0, View arg1,
                    int arg2, long arg3) {
                //System.out.println("teste");
                MenuInflater inflater = getMenuInflater();
                inflater.inflate(R.menu.menu_showup, null);
               //my problem is here,instead of NULL I should put a menu, but how?

            }  
          });        
}

注:メニューフォルダーには、3つのアイテムで作成されたメニューがあります

助けてくれてありがとう

よろしくお願いします、

カルロス

4

1 に答える 1

0

作成ContextMenuは、メニューを設定する最良の方法で作業しますかlistView

これでうまくいくはずです。忘れないでください: registerForContextMenu(lvUsers);

ListView list = (ListView)findViewById(R.id.listView1);
func=getTurmas();
list.setAdapter(new ArrayAdapter<String>(this, android.R.layout.simple_list_item_1, android.R.id.text1,func));
registerForContextMenu(list);

public void onCreateContextMenu(ContextMenu menu, View v, ContextMenu.ContextMenuInfo menuInfo)
{
        MenuInflater inflater = getMenuInflater();
        inflater.inflate(R.menu.context_menu, menu);
}

public boolean onContextItemSelected(MenuItem item) 
{
AdapterContextMenuInfo info = (AdapterContextMenuInfo) item.getMenuInfo();
switch (item.getItemId())
 {
 case R.id.edit:
 editNote(info.id);
 return true;
 case R.id.delete:
 deleteNote(info.id);
 return true;
 default:
 return true;     
 }
 return super.onContextItemSelected(item);
}

res/menu/context_menu.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>
于 2013-01-06T17:13:42.003 に答える