我正在尝试制作一个类似于 android 市场的布局......在评论下说有什么似乎是 ListView
但它不滚动(整页滚动但不是评论)。我不确定它是否甚至是 ListView,但我想要一些看起来像 ListView 的东西(即有那些分隔条,还有什么不是但不可滚动)。有人建议使用 LinearLayout
而不是 ListView
但我也希望这些项目可以点击并打开一个新 Activity 。请帮忙?
我现在的布局树是这样的
<LinearLayout>
<ScrollView>
<RelativeLayout>
我希望将内容放入 RelativeLayout
。
最佳答案
正如在 video 中执行 listView 的程序员所解释的那样来自 GoogleIo 从来没有将 ListView 放在 ScrollView 中。如果您的列表不应滚动,请使用线性布局之类的 ViewGroup,并在代码中循环添加所有项目到此 ViewGroup。如果您希望整行可单击,则必须使用另一个 ViewGroup 作为每行的根节点并将 OnClickListener 添加到此 View 。
示例代码:
LayoutInflater inflater = (LayoutInflater) getSystemService(Context.LAYOUT_INFLATER_SERVICE);
for (int current = 0; current < itemCount; current++) {
View view = inflater.inflate(R.layout.layout_id, parent, false);
//initialize the view
view.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View v) {
Intent intent = new Intent(getApplicationContext(), CLASS_TO_START)
startActivity(intent);
}
});
viewGroup.addView(view);
if (current < itemCount - 1) {
inflater.inflate(R.layout.line, viewGroup);
}
}
此代码将为您拥有的每个项目生成一个 View 并将其放入 viewGroup。在除最后一项之外的每个项目之后,它还将向 viewGroup 添加一个分隔符。
关于不滚动的Android ListView?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3192595/