我是Android的新手。我在这里需要一些帮助和你的建议 我从1月份开始在Android工作,我在这里遇到了一些麻烦。我还在为Android 2.3开发应用程序。非常简单的应用程序。 我已经阅读了关于动作栏的内容,我已经向图书馆推荐了诸如greendroid,sherlock actionbar和最后一个Johan Nilson动作栏。我仍然难以将其集成到我的应用程序中。所以我尝试创建自己的操作栏,麻烦一个接一个地出现。其中之一:即使列表视图向下滚动,很难将操作栏与我的ListView结合起来仍然保持在屏幕顶部。最后,操作栏的布局生成ListView的标题:
View header = getLayoutInflater().inflate(R.layout.header, null);
ListView listView = getListView();
listView.addHeaderView(header);
和按钮& imagebutton不适用于点击事件..
//try action button in actionbar
Menu1 = (Button) this.findViewById(id.button1);
Menu1.setOnClickListener(new OnClickListener(){
@Override
public void onClick(View v)
{
Toast.makeText(List_direktoriJson.this, "action bar..", Toast.LENGTH_LONG).show();
}
});
如果我希望操作栏仍然在列表视图布局的顶部?为什么单击时按钮和图像按钮不起作用?
答案 0 :(得分:2)
如果您可以设法包含其中一个Action Bar库,例如Sherlock,那么它将更加简单:
private class YourListActivity extends SherlockListActivity {
}
答案 1 :(得分:0)
为什么要在ListView标题中添加操作栏?如果这样做,操作栏将始终使用ListView滚动。将操作栏添加到ListActivity的布局。类似的东西:
<merge xmlns:android="http://schemas.android.com/apk/res/android">
<include
android:id="@+id/action_bar"
layout="@layout/header" />
<ListView
android:id="@android:id/list"
android:layout_width="match_parent"
android:layout_height="match_parent" />
<!-- May be some other views -->
</merge>
然后在onCreate()
设置活动的内容视图:
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.layout_of_the_activity);
setListAdapter(...);
// get action bar view
View header = findViewById(R.id.action_bar);
// and then set click listeners. Note that findViewById called on header, not on this
Menu1 = (Button) header.findViewById(R.id.button1);
Menu1.setOnClickListener(...);
}