listView注册右键菜单以及String.format的应用
public class ListViewDemoActivity extends Activity {
?private String[] Countries;
?
??? @Override
??? public void onCreate(Bundle savedInstanceState) {
??????? super.onCreate(savedInstanceState);
??????? setContentView(R.layout.main);
??????? Countries = getResources().getStringArray(R.array.countries);
??????? Arrays.sort(Countries);
???????
??ListView list = (ListView)findViewById(R.id.list);
??ArrayAdapter<String> adapter = new ArrayAdapter<String>(this, R.layout.listitem, Countries);
??list.setAdapter(adapter);
??registerForContextMenu(list);
??? }
???
??? @Override
??? public void onCreateContextMenu(ContextMenu menu, View v,
??? ??ContextMenuInfo menuInfo) {
??? ?if (v.getId()==R.id.list) {
??? ???? AdapterView.AdapterContextMenuInfo info = (AdapterView.AdapterContextMenuInfo)menuInfo;
??? ??menu.setHeaderTitle(Countries[info.position]);
??? ??String[] menuItems = getResources().getStringArray(R.array.menu);
??? ??for (int i = 0; i<menuItems.length; i++) {
??? ???menu.add(Menu.NONE, i, i, menuItems[i]);
???}
??? ?}
??? }
???
??? @Override
??? public boolean onContextItemSelected(MenuItem item) {
???? AdapterView.AdapterContextMenuInfo info = (AdapterView.AdapterContextMenuInfo)item.getMenuInfo();
???? int menuItemIndex = item.getItemId();
??String[] menuItems = getResources().getStringArray(R.array.menu);
??String menuItemName = menuItems[menuItemIndex];
???? String listItemName = Countries[info.position];
????
???? TextView text = (TextView)findViewById(R.id.footer);
???? text.setText(String.format("Selected %s for item %s", menuItemName, listItemName));
??? ?return true;
??? }
}