我的想法是做一个购物清单,当我点击一个项目时,它会有一个删除线并进入列表的末尾。到目前为止,除了将项目发送到列表末尾之外,我已经得到了所有内容。这是我的一些代码:
protected void onListItemClick(ListView l, View v, int position, long id) {
// TODO Auto-generated method stub
super.onListItemClick(l, v, position, id);
TextView text = (TextView) v.findViewById(android.R.id.text1);
text.setPaintFlags(text.getPaintFlags() | Paint.STRIKE_THRU_TEXT_FLAG);
}
编辑:
感谢您到目前为止的冬天。一些有用的人要求更多代码,所以这里是一切(包括添加列表中的东西):
public class ShoppingActivity extends ListActivity {
ArrayList<String> list = new ArrayList<String>();
ArrayAdapter<String> adapter;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_shopping);
Button add = (Button) findViewById(R.id.btnAdd);
adapter = new ArrayAdapter<String>(this,
android.R.layout.simple_list_item_1, list);
OnClickListener listner = new OnClickListener() {
@Override
public void onClick(View v) {
// TODO Auto-generated method stub
EditText item = (EditText) findViewById(R.id.etItem);
list.add(item.getText().toString());
item.setText("");
adapter.notifyDataSetChanged();
}
};
add.setOnClickListener(listner);
setListAdapter(adapter);
}
@Override
protected void onListItemClick(ListView l, View v, int position, long id) {
// TODO Auto-generated method stub
super.onListItemClick(l, v, position, id);
TextView text = (TextView) v.findViewById(android.R.id.text1);
text.setPaintFlags(text.getPaintFlags() | Paint.STRIKE_THRU_TEXT_FLAG);
}
}
答案 0 :(得分:1)
你的适配器告诉列表什么订单项在。使适配器告诉它该项目在最后 - 可能是将它从ArrayList中删除并将其添加到列表的末尾,但确切的方法取决于你的代码。然后通过调用notifyDataSetChanged告诉适配器其数据已更改。
答案 1 :(得分:-1)
首先获取列表长。一旦你拥有它,你只需将项目删除线位置设置为列表长,这将把你的项目作为底部