如何在android中更改列表视图中选择的项目的位置

时间:2011-07-22 10:54:22

标签: android listview

我正在制作一个应用程序,我必须将列表视图中所选项目的位置更改为第一个位置,并将其他项目设置为比当前位置小一个位置。如何执行此操作。 任何机构都可以向我推荐一些教程或任何建议。

1 个答案:

答案 0 :(得分:1)

在项目点击上使用Adapter, and arraylist从该位置删除项目。将其排在第0位并使用notifyDataSetChanged重新排列列表视图

实施例

import java.util.ArrayList;

import android.app.ListActivity;
import android.content.Context;
import android.os.Bundle;
import android.view.View;
import android.widget.AdapterView;
import android.widget.AdapterView.OnItemClickListener;
import android.widget.ArrayAdapter;
import android.widget.ListView;

public class Main_Screen extends ListActivity implements OnItemClickListener{
    ArrayAdapter arrayAdapter = null;
    /** Called when the activity is first created. */
    Context context = null;
    @Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        penList.add("MONT Blanc");
        penList.add("Gucci");
        System.out.println("...1...");
        arrayAdapter = new ArrayAdapter<String>(this,
                android.R.layout.simple_list_item_1, penList);
        arrayAdapter.add("last by adapter");


        setListAdapter(arrayAdapter);
        penList.add("Last By list");
        arrayAdapter.add("last by adapter2");

        getListView().setTextFilterEnabled(true);
        ListView lv = getListView();
        this.registerForContextMenu(lv);

        lv.setOnItemClickListener(this);


    }



    static ArrayList<String> penList   = new ArrayList<String>();
    public void onItemClick(AdapterView<?> arg0, View arg1, int arg2, long arg3) {
        // TODO Auto-generated method stub
        String str = penList.get(arg2);
        penList.remove(arg2);
        penList.add(0, str);
        arrayAdapter.notifyDataSetChanged();
    }




}