我是Android的新手,目前正致力于一个简单的andriod应用程序。我正在写一个listview,我想把一些EditText和textViews放进去。我的想法是在listview上的每个项目中放置一个textview然后是一个edittext。然后我可以从edittext获取值来进行一些计算并得到结果。 我现在可以制作一个列表视图并处理计算。但我真的不能自己制作列表视图。 我已经搜索谷歌任何指示,但我找不到任何好的资源。任何人都可以给我一些示例代码,以便我可以有一个指南跟随... 谢谢你
这是我的部分代码
public void onCreate(Bundle icicle) {
super.onCreate(icicle);
setContentView(R.layout.infmain);
ListView lstView;
lstView = (ListView) findViewById(R.id.listView1);
ArrayAdapter<String> listadapter = new ArrayAdapter<String> (this, android.R.layout.simple_spinner_item,list);
lstView.setAdapter(listadapter);
Spinner spinner = (Spinner) findViewById(R.id.planets_spinner);
Integer[] items = new Integer[] { 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11,
12, 13, 14, 15, 16, 17, 18 };
ArrayAdapter<Integer> adapter = new ArrayAdapter<Integer>(this,
android.R.layout.simple_spinner_item, items);
adapter.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item);
spinner.setAdapter(adapter);
spinner.setOnItemSelectedListener(new Spinner.OnItemSelectedListener() {
public void onItemSelected(AdapterView adapterView, View view,
int position, long id) {
}
public void onNothingSelected(AdapterView arg0) {
}
});
}
我正在寻找一些与我做类似事情的示例代码。 所以我可以阅读和学习代码。 感谢
答案 0 :(得分:0)
默认适配器和视图不会像您在代码中那样使用。
您需要为行创建单独的xml。并使用自定义适配器为该行充气。
在你的行视图中,只需在textview下面添加一个edittext即可。
答案 1 :(得分:0)
确定创建名为img_row_layout
的新布局并将此代码复制到其中
?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="wrap_content" >
<ImageView
android:id="@+id/img"
android:layout_width="wrap_content"
android:layout_height="match_parent"
android:layout_alignParentLeft="true"/>
<TextView
android:id="@+id/name"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignTop="@+id/img"
android:layout_toRightOf="@+id/img"
android:textStyle="bold" />
<TextView
android:id="@+id/dist"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_below="@id/name"
android:layout_gravity="center"
android:layout_marginTop="2dip"
android:layout_toRightOf="@id/img"
android:gravity="right"
android:textSize="8dp"
android:textStyle="italic" />
</RelativeLayout>
上面显示的布局非常简单,我们不需要解释它。然后我们必须修改自定义适配器以处理图像和holder类。持有人类成为:
public View getView(int position, View convertView, ViewGroup parent) {
View v = convertView;
PlanetHolder holder = new PlanetHolder();
// First let's verify the convertView is not null
if (convertView == null) {
// This a new view we inflate the new layout
LayoutInflater inflater = (LayoutInflater) context.getSystemService(Context.LAYOUT_INFLATER_SERVICE);
v = inflater.inflate(R.layout.img_row_layout, null);
// Now we can fill the layout with the right values
TextView tv = (TextView) v.findViewById(R.id.name);
TextView distView = (TextView) v.findViewById(R.id.dist);
ImageView img = (ImageView) v.findViewById(R.id.img);
holder.planetNameView = tv;
holder.distView = distView;
holder.img = img;
v.setTag(holder);
}
else
holder = (PlanetHolder) v.getTag();
System.out.println("Position ["+position+"]");
Planet p = planetList.get(position);
holder.planetNameView.setText(p.getName());
holder.distView.setText("" + p.getDistance());
holder.img.setImageResource(p.getIdImg());
return v;
}