80,351
社区成员
发帖
与我相关
我的任务
分享
package com.liyu.nosfreight.Adapter;
import java.util.List;
public class TableAdapter extends BaseAdapter {
private List<Goods> list;
private LayoutInflater inflater;
public TableAdapter(Context context, List<Goods> list){
this.list = list;
inflater = LayoutInflater.from(context);
}
@Override
public int getCount() {
int ret = 0;
if(list!=null){
ret = list.size();
}
return ret;
}
@Override
public Object getItem(int position) {
return list.get(position);
}
@Override
public long getItemId(int position) {
return position;
}
@Override
public View getView(int position, View convertView, ViewGroup parent) {
Goods goods = (Goods) this.getItem(position);
ViewHolder viewHolder;
if(convertView == null){
viewHolder = new ViewHolder();
convertView = inflater.inflate(R.layout.list_route_item, null);
viewHolder.goodId = (TextView) convertView.findViewById(R.id.text_id);
viewHolder.goodName = (EditText) convertView.findViewById(R.id.text_goods_name);
viewHolder.goodCodeBar = (EditText) convertView.findViewById(R.id.text_codeBar);
viewHolder.goodNum = (EditText) convertView.findViewById(R.id.text_num);
viewHolder.goodCurrPrice = (EditText) convertView.findViewById(R.id.text_curPrice);
viewHolder.goodMoney = (EditText) convertView.findViewById(R.id.text_money);
convertView.setTag(viewHolder);
}else{
viewHolder = (ViewHolder) convertView.getTag();
}
viewHolder.goodId.setText(goods.getId());
viewHolder.goodId.setTextSize(13);
viewHolder.goodName.setText(goods.getGoodsName());
viewHolder.goodName.setTextSize(13);
viewHolder.goodCodeBar.setText(goods.getCodeBar());
viewHolder.goodCodeBar.setTextSize(13);
viewHolder.goodNum.setText(goods.getNum()+"");
viewHolder.goodNum.setTextSize(13);
viewHolder.goodCurrPrice.setText(goods.getCurPrice()+"");
viewHolder.goodCurrPrice.setTextSize(13);
viewHolder.goodMoney.setText(goods.getMoney()+"");
viewHolder.goodMoney.setTextSize(13);
return convertView;
}
public static class ViewHolder{
public TextView goodId;
public EditText goodName;
public EditText goodCodeBar;
public EditText goodNum;
public EditText goodCurrPrice;
public EditText goodMoney;
}
}
<?xml version="1.0" encoding="UTF-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:orientation="horizontal"
android:layout_width="fill_parent"
android:layout_height="wrap_content" >
<View
android:layout_width="1.5dp"
android:layout_height="fill_parent"
android:background="#000000"/>
<TextView
android:id="@+id/text_id"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_weight="1"
android:gravity="center"
android:paddingBottom="10dp"
android:paddingTop="10dp"
android:singleLine="true"
android:text="序号"
android:textColor="#000000"
android:textSize="15sp" />
<View
android:layout_width="1.5dp"
android:layout_height="fill_parent"
android:background="#000000"/>
<EditText
android:id="@+id/text_goods_name"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:background="@drawable/table_input_bg"
android:layout_weight="3"
android:paddingBottom="10dp"
android:paddingTop="10dp"
android:textColor="#000000"
android:textSize="15sp"
android:singleLine="true"
android:gravity="center"
android:text="商品名称" />
<View
android:layout_width="1.5dp"
android:layout_height="fill_parent"
android:background="#000000"/>
<EditText
android:id="@+id/text_codeBar"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:background="@drawable/table_input_bg"
android:layout_weight="2"
android:paddingBottom="10dp"
android:textColor="#000000"
android:paddingTop="10dp"
android:singleLine="true"
android:textSize="15sp"
android:gravity="center"
android:text="条形码" />
<View
android:layout_width="1.5dp"
android:layout_height="fill_parent"
android:background="#000000"/>
<EditText
android:id="@+id/text_num"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:background="@drawable/table_input_bg"
android:layout_weight="1"
android:paddingBottom="10dp"
android:paddingTop="10dp"
android:textColor="#000000"
android:singleLine="true"
android:textSize="15sp"
android:gravity="center"
android:text="数量" />
<View
android:layout_width="1.5dp"
android:layout_height="fill_parent"
android:background="#000000"/>
<EditText
android:id="@+id/text_curPrice"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:background="@drawable/table_input_bg"
android:layout_weight="1.5"
android:paddingBottom="10dp"
android:textColor="#000000"
android:textSize="15sp"
android:singleLine="true"
android:paddingTop="10dp"
android:gravity="center"
android:text="现价" />
<View
android:layout_width="1.5dp"
android:layout_height="fill_parent"
android:background="#000000"/>
<EditText
android:id="@+id/text_money"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:background="@drawable/table_input_bg"
android:layout_weight="1.5"
android:paddingBottom="10dp"
android:singleLine="true"
android:textSize="15sp"
android:textColor="#000000"
android:paddingTop="10dp"
android:gravity="center"
android:text="金额" />
<View
android:layout_width="1.5dp"
android:layout_height="fill_parent"
android:background="#000000"/>
</LinearLayout>
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:orientation="vertical"
android:layout_width="match_parent"
android:layout_height="match_parent">
<View
android:layout_width="match_parent"
android:layout_height="1.5dp"
android:background="#000000"/>
<include
layout="@layout/list_route_item"
android:id="@+id/table_route_title" />
<View
android:layout_width="match_parent"
android:layout_height="1.5dp"
android:background="#000000"/>
<ListView
android:id="@+id/list"
android:divider="#000000"
android:dividerHeight="1.0dp"
android:scrollbars="none"
android:cacheColorHint="@android:color/transparent"
android:fadingEdge="none"
android:layout_width="fill_parent"
android:layout_height="wrap_content" >
</ListView>
<View
android:layout_width="match_parent"
android:layout_height="1.5dp"
android:background="#000000"/>
</LinearLayout>
package com.liyu.nosfreight;
public class RouteActivity extends AppCompatActivity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_route);
ActionBar actionBar = getSupportActionBar();
if (actionBar != null) {
actionBar.setHomeButtonEnabled(true);
actionBar.setDisplayHomeAsUpEnabled(true);
}
//设置表格标题的背景颜色
ViewGroup tableTitle = (ViewGroup) findViewById(R.id.table_route_title);
tableTitle.setBackgroundColor(Color.rgb(177, 173, 172));
List<Goods> list = new ArrayList<Goods>();
list.add(new Goods("1", "伊利婴儿加盖奶粉110ml", "982323423232", 34, 23, 23));
list.add(new Goods("2", "鱼翅", "31312323223", 34, 23, 23));
list.add(new Goods("3", "农夫山泉", "12", 34, 23, 23));
ListView tableListView = (ListView) findViewById(R.id.list);
TableAdapter adapter = new TableAdapter(this, list);
tableListView.setAdapter(adapter);
}
}
if(position == 0){// 标题行,不可编辑
viewHolder.goodId.setEnable(false);
...........
} else {
viewHolder.goodId.setEnable(true);
}
判断是否标题行,当然可以修改成你的判断条件,如根据数据来,Goods加一个字段,是否可编辑,默认true,标题行数据设置为false。 //新增按钮点击事件
public void insertBtnOnClick(){
Button insert = (Button) findViewById(R.id.route_insert);
insert.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
adapter.addData(new Goods("","","",0,0,0));
}
});
}
public void addData(Goods goods){
if(list == null){
list = new ArrayList<>();
}
if(goods != null){
list.add(goods);
}
notifyDataSetChanged();
}
[/quote]
这个方法放在哪里呢?
adapter.list.add()这个方法我怎么引用不了啊!
public void addData(Goods goods){
if(list == null){
list = new ArrayList<>();
}
if(goods != null){
list.add(goods);
}
notifyDataSetChanged();
}
//新增按钮点击事件
public void insertBtnOnClick(){
Button insert = (Button) findViewById(R.id.route_insert);
insert.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
List<Goods> list = new ArrayList<Goods>();
list.add(new Goods(list.size()+1+"","","",0,0,0));
ListView tableListView = (ListView) findViewById(R.id.list);
TableAdapter adapter = new TableAdapter(RouteActivity.this, list);
tableListView.setAdapter(adapter);
}
});
}
会变成只有一行空白行 <EditText
android:id="@+id/text_money"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:background="@drawable/table_input_bg"
android:layout_weight="1.5"
android:paddingBottom="10dp"
android:singleLine="true"
android:textSize="15sp"
android:textColor="#000000"
android:paddingTop="10dp"
android:gravity="center"
android:enabled="false"
android:text="金额" />
判断position是否>=0:
if(position >= 0) {
viewHolder.goodId.setEnabled(true);
}