通过遵循本指南,http://wptrafficanalyzer.in/blog/adding-drop-down-navigation-to-actor-to-actor-to-actor-bar-in-bar-in-indroid/
我能够添加下拉导航栏。点击事件和所有功能。现在,我如何做到它,一旦选择了一个选项,它将导航到具有自己的布局和不同函数的其他屏幕。
任何帮助都会很棒,谢谢!
编辑:这就是我所拥有的。我的应用程序运行约一毫秒,我可以看到一眼" Hello World",然后它崩溃了。顺便说一句,我正在使用夏洛克。
package com.poe.statcalc;
import com.actionbarsherlock.app.SherlockActivity;
import android.content.Intent;
import android.os.Bundle;
import android.widget.ArrayAdapter;
import android.widget.Toast;
import com.actionbarsherlock.app.ActionBar;
import com.actionbarsherlock.app.ActionBar.OnNavigationListener;
public class MainActivity extends SherlockActivity {
/** An array of strings to populate dropdown list */
String[] actions = new String[] {
"Bookmark",
"Subscribe",
"Share",
"Something"
};
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
/** Create an array adapter to populate dropdownlist */
ArrayAdapter<String> adapter = new ArrayAdapter<String>(getBaseContext(), R.layout.sherlock_spinner_item, actions);
/** Enabling dropdown list navigation for the action bar */
getSupportActionBar().setNavigationMode(com.actionbarsherlock.app.ActionBar.NAVIGATION_MODE_LIST);
/** Defining Navigation listener */
ActionBar.OnNavigationListener navigationListener = new OnNavigationListener() {
@Override
public boolean onNavigationItemSelected(int itemPosition, long itemId) {
switch(itemPosition) {
case 0:
Intent i = new Intent(MainActivity.this, SecondActivity.class);
startActivity(i);
break;
case 1:
//...
break;
}
return false;
}
};
/** Setting dropdown items and item navigation listener for the actionbar */
getSupportActionBar().setListNavigationCallbacks(adapter, navigationListener);
adapter.setDropDownViewResource(R.layout.sherlock_spinner_dropdown_item);
}
@Override
public boolean onCreateOptionsMenu(com.actionbarsherlock.view.Menu menu) {
getSupportMenuInflater().inflate(R.menu.activity_main, menu);
return super.onCreateOptionsMenu(menu);
}
}
如果要更改元素,则需要操纵您的ArrayAdapter
,但是我认为您不能为该孔子使用ArrayAdapter<String>
类。您可能需要使用以外的其他内容。
要进行处理,您需要更改onNavigationItemSelected
功能:
@Override
public boolean onNavigationItemSelected(int itemPosition, long itemId) {
switch(itemPosition) {
case 0:
Intent i = new Intent(this, SecondActivity.class);
startActivity(i);
break;
case 1:
// ...
break;
}
return false;
}
您必须通过在onNavigationItemSelected
回调中调用startActivity(Intent)
来启动新活动。
不知道这是否是您遇到的确切问题(尽管听起来像是它!),但是请注意使用旋转器的启动性:可以在ongreate()中调用。<<<<<<<<<<<<<</p>
在ActionBar中被命名为"启动"如何避免它?