G's*_*son 19 android menu click actionbarsherlock
我是使用Sherlock ActionBar的新手,我已经让它在我的应用程序中运行,我在操作栏中有一个项目,但我不知道如何让项目做点什么,当我点击时,我得到的就是这个.
public boolean onCreateOptionsMenu(Menu menu) {
menu.add("Folder")
.setIcon(R.drawable.folder)
.setShowAsAction(MenuItem.SHOW_AS_ACTION_IF_ROOM);
return true;
}
public boolean onActionItemClicked(ActionMode mode, MenuItem item) {
//What do i write here?
return true;
Run Code Online (Sandbox Code Playgroud)
我希望你明白我的意思:)
编辑
嘿,我通过我发现的这个帖子的一些帮助使它工作,我做了一些更改,这里是代码!:DDD
@Override
public boolean onCreateOptionsMenu(Menu menu) {
com.actionbarsherlock.view.MenuInflater inflater = getSupportMenuInflater();
inflater.inflate(R.menu.menu, menu);
return super.onCreateOptionsMenu(menu);
}
@Override
public boolean onOptionsItemSelected(MenuItem item) {
// Handle item selection
switch (item.getItemId()) {
case R.id.search:
finish();
return true;
case R.id.new_folder:
finish();
return true;
default:
return super.onOptionsItemSelected(item);
}
}
Run Code Online (Sandbox Code Playgroud)
Hem*_*ema 23
试试这个,它有效:
public boolean onCreateOptionsMenu(com.actionbarsherlock.view.Menu menu) {
com.actionbarsherlock.view.MenuInflater inflater = getSupportMenuInflater();
inflater.inflate(R.layout.menu, menu);
}
public boolean onOptionsItemSelected(MenuItem item) {
// Handle item selection
switch (item.getItemId()) {
case R.id.settings:
Intent i=new Intent(class1.this, clas2.class);
startActivity(i);
return true;
}
return false;
}
Run Code Online (Sandbox Code Playgroud)
这样的东西(取自我的一个应用程序).
这种情况下的活动延伸SherlockFragmentActivity
.
@Override
public boolean onCreateOptionsMenu(com.actionbarsherlock.view.Menu menu) {
menu.add(Menu.NONE, R.id.ID_ACTION_EXIT, Menu.NONE,R.string.action_label_exit)
.setIcon(android.R.drawable.ic_menu_close_clear_cancel)
.setShowAsAction(MenuItem.SHOW_AS_ACTION_IF_ROOM);
return super.onCreateOptionsMenu(menu);
}
@Override
public boolean onOptionsItemSelected(
com.actionbarsherlock.view.MenuItem item) {
switch(item.getItemId()){
case R.id.ID_ACTION_EXIT:
Main.this.finish();
return true;
default:
return false;
}
}
Run Code Online (Sandbox Code Playgroud)
将R.id.ACTION_EXIT
被放置在res/values/ids.xml
<resources><item name="ID_ACTION_EXIT" type="id"/></resources>
Run Code Online (Sandbox Code Playgroud)
[编辑]然后试试这个(扩展SherlockListActivity).你必须先做一些编辑.此代码来自Sherlock演示.你应该下载它们.
@Override
public boolean onCreateOptionsMenu(Menu menu) {
SubMenu sub = menu.addSubMenu("Theme");
sub.add(0, R.style.Theme_Sherlock, 0, "Default");
sub.add(0, R.style.Theme_Sherlock_Light, 0, "Light");
sub.add(0, R.style.Theme_Sherlock_Light_DarkActionBar, 0, "Light (Dark Action Bar)");
sub.getItem().setShowAsAction(MenuItem.SHOW_AS_ACTION_ALWAYS | MenuItem.SHOW_AS_ACTION_WITH_TEXT);
return true;
}
@Override
public boolean onOptionsItemSelected(MenuItem item) {
if (item.getItemId() == android.R.id.home || item.getItemId() == 0) {
return false;
}
THEME = item.getItemId();
Toast.makeText(this, "Theme changed to \"" + item.getTitle() + "\"", Toast.LENGTH_SHORT).show();
return true;
}
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
31714 次 |
最近记录: |