我是一名新手 android 开发人员,他正在尝试构建一个使用飞入菜单的应用程序(类似于 google+、fb、steam、youtube)。我发现https://github.com/jfeinstein10/SlidingMenu 可以很好地满足我的需求。现在我的问题是,使用这个库最有效的方法是什么
这是我的活动之一
public class ExampleActivity2 extends SlidingActivity implements OnItemClickListener{
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
setBehindContentView(R.layout.list);
getSlidingMenu().setBehindOffsetRes(R.dimen.actionbar_home_width);
Button btn = (Button) findViewById(R.id.button);
//ListClass l=new ListClass(getApplicationContext());
ListView lv=(ListView) findViewById(R.id.lvname);
String[] values = new String[] { "Android", "iPhone", "WindowsMobile",
"Blackberry", "WebOS", "Ubuntu", "Windows7", "Max OS X",
"Linux", "OS/2" };
ArrayAdapter<String> adapter = new ArrayAdapter<String>(this,
android.R.layout.simple_list_item_1, android.R.id.text1, values);
// Assign adapter to ListView
lv.setAdapter(adapter);
lv.setOnItemClickListener(this);
getActionBar().setHomeButtonEnabled(true);
}
@Override
public void onItemClick(AdapterView<?> arg0, View arg1, int arg2, long arg3) {
switch(arg2){
case 1:
Intent myIntent = new Intent(this,TestClass.class);
startActivity(myIntent);
break;
}
}
@Override
public boolean onCreateOptionsMenu(Menu menu) {
MenuInflater inflater = getMenuInflater();
inflater.inflate(R.menu.main, menu);
return true;
}
@Override
public boolean onOptionsItemSelected(MenuItem item) {
switch (item.getItemId()) {
case android.R.id.home:
// app icon in action bar clicked; go home
toggle();
return true;
default:
return super.onOptionsItemSelected(item);
}
}
}
如您所见,此实现要求我为使用它的每个活动填充侧边菜单。(在本例中,当用户从侧边菜单中选择项目 1 时,我启动了一个名为 TestClass 的新活动,我必须在其中填充列表视图并再次实现 onitemlistener)。
我想要一种将整个 listView 代码(使用 onitemclicklistener)移动到可以为所有活动(详细视图)调用的单独文件的方法。我试图将代码移动到不同的类,但 eclipse 抛出空点异常错误. 如果有人可以指导我如何使用该库的示例,我将不胜感激(我没有发现这些示例很有用)。提前致谢 :)