我有一个ListView,其行中应具有以下布局:
HEADER
Text
HEADER
应该是静态的,但Text
每隔几秒钟就会更改一次。
我通过填充String[] array
,将其传递给ArrayAdapter
并在每次数据更改时进行设置来实现它:
data_array = populateString();
adapter = new ArrayAdapter<String>(this, android.R.layout.simple_list_item_1, android.R.id.text1, data_array);
listView.setAdapter(adapter);
我的问题是我不知道如何以上述格式显示数据。
提前致谢。
将此row.xml
添加到你的布局文件夹
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical" >
<TextView android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Header"/>
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:id="@+id/text"/>
</LinearLayout>
使你的主要xml布局如下
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:orientation="horizontal" >
<ListView
android:id="@+id/listview"
android:layout_width="fill_parent"
android:layout_height="fill_parent" >
</ListView>
</LinearLayout>
这是你的适配器
class yourAdapter extends BaseAdapter {
Context context;
String[] data;
private static LayoutInflater inflater = null;
public yourAdapter(Context context, String[] data) {
// TODO Auto-generated constructor stub
this.context = context;
this.data = data;
inflater = (LayoutInflater) context
.getSystemService(Context.LAYOUT_INFLATER_SERVICE);
}
@Override
public int getCount() {
// TODO Auto-generated method stub
return data.length;
}
@Override
public Object getItem(int position) {
// TODO Auto-generated method stub
return data[position];
}
@Override
public long getItemId(int position) {
// TODO Auto-generated method stub
return position;
}
@Override
public View getView(int position, View convertView, ViewGroup parent) {
// TODO Auto-generated method stub
View vi = convertView;
if (vi == null)
vi = inflater.inflate(R.layout.row, null);
TextView text = (TextView) vi.findViewById(R.id.text);
text.setText(data[position]);
return vi;
}
}
你的Java活动
public class StackActivity extends Activity {
ListView listview;
/** Called when the activity is first created. */
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
listview = (ListView) findViewById(R.id.listview);
listview.setAdapter(new yourAdapter(this, new String[] { "data1",
"data2" }));
}
}
问题内容: 我浏览了教程并进行了搜索,但仍然不明白该怎么做, 当扩展在我的android应用程序中创建自定义listView 时,此方法有效。因此,我无法完全按照需要编辑“自定义”列表视图。 我需要知道何时调用此方法以及参数的含义。 如果有人可以解释以下方法很好。谢谢 问题答案: getView() :如规范中所述,getView方法将数据显示在指定位置。因此,当您设置适配器并滚动时,将调用lis
我尝试按照幻灯片youtube 6部分教程创建一个带有自定义行的列表视图。在他的教程中,他使用了1个图像和2个文本视图,我需要3个图像和3个文本视图,当我运行应用程序时,它在尝试加载列表视图时崩溃。 -------------家庭单行.xml----------------------- - Homelistview.xml - Homeactivitylistview.java 04-22 15
问题内容: 首先让我解释一下我的目标。我试图使改变的属性。一个构造函数有两个领域:和。我想设置动画,使其在屏幕上显示为不断缩小的圆圈。 您可以通过想象PacMan来描绘此动画。想象一下他的嘴巴是闭合的。这种动画效果类似于他越来越张开上颚,直到不再有吃豆人为止。 现在…我在实现此问题上有两个问题。首先,创建后,就没有内置的更改方法。这使我想到了第一个问题:是否有任何方法可以覆盖和实现某些方法?还是我
代码如下: 这是适配器,我在这里为列表做了自己的设计(< code>R.layout.zalistu),它在仿真器中工作,但在设备上它给我一个错误(应用程序意外停止),如果我使用< code>simple_list_item_1,那么它在仿真器和我的设备上都可以正常工作。 这里是R:layout.zalistu: 日志猫: 我设备上的Android版本是2.3.7,模拟器上的版本是4.0.4(AP
问题内容: 所以我有一个自定义ListView对象。列表项具有两个彼此叠放的textview,以及一个水平进度条,在我实际执行某项操作之前,我一直希望保持水平状态。最右边是一个复选框,仅在用户需要将更新下载到他们的数据库时才显示。通过将可见性设置为Visibility.GONE禁用复选框时,我可以单击列表项。当该复选框可见时,我无法单击列表中除复选框以外的任何内容。我已经进行了一些搜索,但没有找到
问题内容: 我真的很想把头发拔出来。一些背景。我有一个项目列表,所有项目旁边都有复选框。取消选择复选框后,将出现一个按钮,您可以从列表中删除该项目。乍一看似乎是倒退,但我们只希望“选定”的项目有资格进行进一步处理,等等。这是我的布局: 我无法使这3个物品在行中垂直居中以挽救生命。,,,没有它的工作原理。我敢肯定,我的问题是要在某个地方翻转一下,但我确实对此持怀疑态度。 编辑:我知道textview