0

私のアイデアは、買い物リストを作成することです。アイテムをクリックすると、取り消し線が表示され、リストの最後に移動します。これまでのところ、アイテムをリストの最後に送信する以外はすべて取得しています。これが私のコードの一部です:

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);

    }
}
4

2 に答える 2

1

アダプタはリストにどの順序アイテムが含まれているかを通知します。アダプタにこのアイテムが最後にあることを通知させます。おそらく、このアイテムをArrayListから削除してリストの最後に追加しますが、正確な方法はユーザーによって異なります。コード。次に、notifyDataSetChangedを呼び出して、データが変更されたことをアダプターに通知します。

于 2013-01-16T22:01:06.727 に答える
-1

最初に長いリストを取得します。取得したら、アイテムの取り消し線の位置をリストの長さに設定するだけです。これにより、アイテムが一番下に配置されます

于 2013-01-16T21:57:01.757 に答える