Как создать меню программно в Android?
теперь я хочу добавить его в меню в нижней части экрана. Я много писал об этом, но до сих пор не понял, как это сделать. Моя главная проблема в том, что у меня нет xml-файла на моей главной странице. его взгляд Ликс, что:
public class start extends ListActivity {
static final String[] COUNTRIES = new String[] {
"NEWS1", "NEWS2","RADIO"};
Intent intent;
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setListAdapter(new ArrayAdapter<String>(this,android.R.layout.simple_list_item_1, COUNTRIES));
ListView lv = getListView();
lv.setTextFilterEnabled(true);
lv.setOnItemClickListener(new OnItemClickListener() {
public void onItemClick(AdapterView<?> parent, View view,
int position, long id) {
if (((TextView) view).getText().equals("NEWS1")){
intent = new Intent(start.this, NewsActivity.class);
Как добавить меню с действием. пожалуйста, приведите мне пример. спасибо
5 ответов
Ya это нормально, если у вас нет XML-файла в вашей основной деятельности. Вы все еще можете добавить меню к нему, выполнив следующие шаги ->
- создайте XML-файл android и выберите меню в качестве типа(он будет храниться в папке меню папки res).
-
теперь в вашем основном коде действия добавьте эти два метода ->
public boolean onCreateOptionsMenu(Menu menu){ getMenuInflater().inflate(R.menu.yourmenuxmlfilename, menu); return true; } public boolean onOptionsItemSelected(MenuItem item){ switch(item.getItemId){ case R.id.item1: // what you want to do with first button break; case ..... break; } return true; }
используйте этот код для динамического добавления меню
private static final int NEW_MENU_ID=Menu.FIRST+1;
@Override
public boolean onCreateOptionsMenu(Menu menu) {
super.onCreateOptionsMenu(menu);
menu.add(0, NEW_MENU_ID, 0, "New");
return true;
}
для контекстного меню вы просто добавляете
getListView().setOnCreateContextMenuListener(new OnCreateContextMenuListener() {
@Override
public void onCreateContextMenu(ContextMenu menu, View v,
ContextMenuInfo menuInfo) {
menu.setHeaderTitle("Options");
menu.add("Option1");
menu.add("Option2");
menu.add("Option3");
}
});
контекстное меню просто появляется при длительном щелчке по элементу списка
в меню
создайте xml-файл android, который вы раздуваете в меню опций
@Override
public boolean onCreateOptionsMenu(Menu menu) {
new MenuInflater(this).inflate(R.layout.options, menu);
return super.onCreateOptionsMenu(menu);
}
@Override
public boolean onOptionsItemSelected(MenuItem item) {
//and your action for menu item click goes here
Как открыть диалог? бывший. когда нажмите "о программе", откроется диалоговое окно " сделано XXX, font16 и посетите: "http://www - ... ХХХ.ХХХ" в качестве гиперссылки ?
.с помощью этого кода:
private static final int NEW_MENU_ID=Menu.FIRST+1;
@Override
public boolean onCreateOptionsMenu(Menu menu) {
super.onCreateOptionsMenu(menu);
menu.add(0, NEW_MENU_ID, 0, "ABOUT");
return true;
}