try {
BufferedReader reader = new BufferedReader(new InputStreamReader(is));
StringBuilder sb = new StringBuilder();
String line = null;
while ((line = reader.readLine()) != null) {
sb.append(line);
}
is.close();
resultString = sb.toString();
String[] ArrayStr = Func.split(resultString, "|*|");
String[] arr;
lv = new ListView(context);
lv.setAdapter(null);
// populate
ArrayList<Device> m_Devices = new ArrayList<Device>();
Device device;
for(int i = 0; i < ArrayStr.length; i++){
arr = Func.split(ArrayStr[i], "|**|");
device = new Device(arr[1], Integer.parseInt(arr[0]));
m_Devices.add(device);
}
// +header n footer (must above custom adapter)
View v1 = getLayoutInflater().inflate(R.layout.header, null);
lv.addHeaderView(v1);
View v = getLayoutInflater().inflate(R.layout.footer, null);
lv.addFooterView(v);
// custom adapter
CustomAdapter lvAdapter = new CustomAdapter(context, m_Devices);
lv.setAdapter(lvAdapter);
lv.setOnItemClickListener(new OnItemClickListener() {
@Override
public void onItemClick(AdapterView<?> a, View v, int position, long id) {
AlertDialog.Builder adb=new AlertDialog.Builder(Menu1.this);
adb.setTitle("LVSelectedItemExample");
adb.setMessage("Selected Item is = "+lv.getItemAtPosition(position));
adb.setPositiveButton("Ok", null);
adb.show();
}
});
如何使页眉和页脚变为静态? 标题n页脚也变得可滚动,就像列表视图一样.. 我有google n有人sugest 4将页眉和页脚放在listview之外,但我不知道放在哪里?我已经尝试将它放到我的自定义适配器上了,没有什么好...所以请问任何人都可以告诉我如何解决这个问题?
答案 0 :(得分:2)
我认为将它们放在ListView之外意味着您应该使用自定义视图元素,例如您放置在ListView上方和下方的TextView。这些元素与ListView无关。因此,您无法再使用lv.addHeaderView(v1);
或lv.addFooterView(v);
访问它们了。相反,你必须像普通的TextView元素一样对待它们。当然,您也可以使用自定义视图而不是TextViews。
<强>更新强>
您的活动布局应该是这样的。第一个TextView是标题,然后是ListView,在下面我们得到另一个TextView作为页脚。页眉和页脚不需要TextViews它们可以是任何类型的View。
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="wrap_content"
android:layout_height="wrap_content">
<TextView android:id="@+id/header_txt"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:text="Footer Text"/>
<ListView android:id="@+id/listView"
android:layout_width="fill_parent"
android:layout_height="wrap_content"/>
<TextView android:id="@+id/footer_txt"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:text="Footer Text"/>
</LinearLayout>
因此,您将像现在一样将适配器绑定到ListView。要设置页眉和页脚的文本,请使用以下行。
TextView header = (TextView) findViewById(R.id.header_text);
header.setText("This is my header text");
TextView footer = (TextView) findViewById(R.id.footer_text);
footer.setText("This is my footer text");