Android Onitem长单击不适用于listvview

Android Onitem长单击不适用于listvview,android,listview,onitemlongclicklistener,Android,Listview,Onitemlongclicklistener,我有一个活动,它将OnItemLongClicllGenerer实现为列表视图。我使用parse.com作为后端,将数据检索到listvview中。一切都正常,但onitemlongclicllstener在列表视图中不起作用。长时间单击列表项时不会发生任何事情 我的主要活动 public class InterActivity extends Activity implements OnItemLongClickListener { ListView listview; List<P

我有一个活动,它将OnItemLongClicllGenerer实现为列表视图。我使用parse.com作为后端,将数据检索到listvview中。一切都正常,但onitemlongclicllstener在列表视图中不起作用。长时间单击列表项时不会发生任何事情

我的主要活动

public class InterActivity extends Activity implements OnItemLongClickListener
{


ListView listview;
List<ParseObject> ob;
ProgressDialog mProgressDialog;
FinalAdapter adapter;
 List<CodeList> codelist = null;
 SharedPreference shrdPreference;



@Override
public void onCreate(Bundle savedInstanceState)
{

    super.onCreate(savedInstanceState);
    setContentView(R.layout.inter_layout);
    shrdPreference = new SharedPreference();
    //Execute RemoteDataTask AsyncTask
    new RemoteDataTask().execute();
}

private class RemoteDataTask extends AsyncTask<Void, Void, Void> {
    @Override
    protected void onPreExecute() {
        super.onPreExecute();
        // Create a progressdialog
        mProgressDialog = new ProgressDialog(InterActivity.this);
        // Set progressdialog title
        mProgressDialog.setTitle("Loading");
        // Set progressdialog message
        mProgressDialog.setMessage("Please wait loading ...");
        mProgressDialog.setIndeterminate(false);
        mProgressDialog.setCancelable(false);
        // Show progressdialog
        mProgressDialog.show();
    }

    @Override
    protected Void doInBackground(Void... params) {
        // Create the array
        codelist = new ArrayList<CodeList>();
        try {
            // Locate the class table named "Country" in Parse.com
            ParseQuery<ParseObject> query = new ParseQuery<ParseObject>(
                "InterActivity");
            // Locate the column named "ranknum" in Parse.com and order list
            // by ascending
            query.orderByAscending("_created_at");
            ob = query.find();
            for (ParseObject inter : ob) {


                ParseFile video = (ParseFile) inter.get("demovideo");

        //      ParseFile downloadfile = (ParseFile) inter.get("download");

                CodeList map = new CodeList();
                map.setListHeading((String) inter.get("listheading"));
                map.setSingleItemHeading((String) inter.get("heading"));

                map.setDownloadCode((String) inter.get("download"));


                map.setDailogdemovideo(video.getUrl());
    //          map.setDownloadCode(downloadfile.getUrl());

                codelist.add(map);
            }
        } catch (ParseException e) {
            Log.e("Error", e.getMessage());
            e.printStackTrace();
        }
        return null;
    }

    @Override
    protected void onPostExecute(Void result) {
        // Locate the listview in listview_main.xml
        listview = (ListView) findViewById(R.id.inter_layoutListView);
        // Pass the results into ListViewAdapter.java
        adapter = new FinalAdapter(InterActivity.this,
                                      codelist);
        // Binds the Adapter to the ListView
        listview.setAdapter(adapter);

        listview.setOnItemLongClickListener(InterActivity.this);
        // Close the progressdialog
        mProgressDialog.dismiss();
    }
}

@Override
public boolean onItemLongClick(AdapterView<?> arg0, View view, int position, long arg3)
{
    ImageView fvrtebutton = (ImageView) view.findViewById(R.id.favbtn);


    String tag = fvrtebutton.getTag().toString();
    if (tag.equalsIgnoreCase("no")) {
        shrdPreference.addFavorite(InterActivity.this, codelist.get(position));
        Toast.makeText(InterActivity.this, getString(R.string.fav_added),
                       Toast.LENGTH_SHORT).show();

        fvrtebutton.setTag("yes");
        fvrtebutton.setImageResource(R.drawable.favorite);
    } else {
        shrdPreference.removeFavorite(InterActivity.this, codelist.get(position));
        fvrtebutton.setTag("no");
        fvrtebutton.setImageResource(R.drawable.unfavorite);
        Toast.makeText(InterActivity.this,
                       getString(R.string.fav_removed),
                       Toast.LENGTH_SHORT).show();
    }
    return false;
}

@Override
protected void onResume()
{

    super.onResume();
}



@Override
public void onBackPressed() {
    super.onBackPressed();
    overridePendingTransition(R.anim.left_to_right, R.anim.right_to_left);

}
公共类交互性扩展活动实现OnItemLongClickListener
{
列表视图列表视图;
列表ob;
进程对话框;
最终适配器;
列表代码列表=空;
SharedReference shrdReference;
@凌驾
创建时的公共void(Bundle savedInstanceState)
{
super.onCreate(savedInstanceState);
setContentView(R.layout.inter_layout);
shrdReference=新的SharedReference();
//执行RemoteDataTaskAsyncTask
新建RemoteDataTask().execute();
}
私有类RemoteDataTask扩展了AsyncTask{
@凌驾
受保护的void onPreExecute(){
super.onPreExecute();
//创建一个progressdialog
mProgressDialog=新建ProgressDialog(InterActivity.this);
//设置进程对话框标题
mProgressDialog.setTitle(“加载”);
//设置进程对话框消息
设置消息(“请等待加载…”);
mProgressDialog.setUndeterminate(false);
mProgressDialog.setCancelable(假);
//显示进度对话框
mProgressDialog.show();
}
@凌驾
受保护的Void doInBackground(Void…参数){
//创建数组
codelist=newarraylist();
试一试{
//在Parse.com中找到名为“Country”的类表
ParseQuery=新的ParseQuery(
“互动性”);
//在Parse.com和订单列表中找到名为“ranknum”的列
//上升
query.orderByAscending(“\u created\u at”);
ob=query.find();
for(ParseObject inter:ob){
ParseFile video=(ParseFile)inter.get(“demovideo”);
//ParseFile downloadfile=(ParseFile)inter.get(“下载”);
代码列表映射=新代码列表();
setListHeading((字符串)inter.get(“listheading”);
map.setSingleItemHeading((字符串)inter.get(“heading”);
setDownloadCode((字符串)inter.get(“下载”);
setDailogdemovideo(video.getUrl());
//setDownloadCode(downloadfile.getUrl());
添加(map);
}
}捕获(解析异常){
Log.e(“Error”,e.getMessage());
e、 printStackTrace();
}
返回null;
}
@凌驾
受保护的void onPostExecute(void结果){
//在listview_main.xml中找到listview
listview=(listview)findViewById(R.id.inter_layoutListView);
//将结果传递到ListViewAdapter.java中
适配器=新的FinalAdapter(InterActivity.this,
代码表);
//将适配器绑定到ListView
setAdapter(适配器);
setOnItemLongClickListener(InterActivity.this);
//关闭progressdialog
mProgressDialog.disclose();
}
}
@凌驾
公共布尔值长单击(AdapterView arg0、视图视图、整型位置、长arg3)
{
ImageView FvretButton=(ImageView)view.findViewById(R.id.favbtn);
String tag=fvrtebutton.getTag().toString();
if(标记为“否”){
shrdPreference.addFavorite(InterActivity.this,codelist.get(position));
Toast.makeText(InterActivity.this、getString(添加了R.string.fav_),
吐司。长度(短)。show();
设置标签(“是”);
setImageResource(R.drawable.favorite);
}否则{
shrdReference.removeFavorite(InterActivity.this,codelist.get(position));
设置标签(“否”);
fvrtebutton.setImageResource(R.drawable.unfavorite);
Toast.makeText(InterActivity.this,
getString(删除R.string.fav_),
吐司。长度(短)。show();
}
返回false;
}
@凌驾
受保护的void onResume()
{
super.onResume();
}
@凌驾
public void onBackPressed(){
super.onBackPressed();
覆盖转换(R.anim.left\u到右,R.anim.right\u到左);
}
最终适配器.java

public class FinalAdapter extends BaseAdapter
 {
Context context;
LayoutInflater inflater;
ImageLoader imgLoader;
private List<CodeList> codeList = null;
private ArrayList<CodeList> arraylist;
SharedPreference shrdprfrnce;

public FinalAdapter(Context context,
                    List<CodeList> codeList) {
    this.context = context;
    this.codeList = codeList;
    inflater = LayoutInflater.from(context);
    this.arraylist = new ArrayList<CodeList>();
    this.arraylist.addAll(codeList);
    shrdprfrnce = new SharedPreference();
    imageLoader = new ImageLoader(context);

}

public class ViewHolder{
    TextView listHeading;
    TextView listHash;
    ImageView alphabetList;
    ImageView favariteImage;
}


@Override
public int getCount()
{
    return codeList.size();
}

@Override
public Object getItem(int position)
{
    return codeList.get(position);
}

@Override
public long getItemId(int position)
{
    return position;
}

@Override
public View getView(final int position, View view, ViewGroup parent)
{
    final ViewHolder holder;
    if(view == null){
        holder = new ViewHolder();
        view = inflater.inflate(R.layout.beg_list_item,null);
        holder.listHeading = (TextView) view.findViewById(R.id.beg_list_itemTextView);

        //holder.listHash = (TextView) view.findViewById(R.id.listview_hashtags);
        holder.alphabetList = (ImageView) view.findViewById(R.id.beg_list_itemImageView);

        holder.favariteImage = (ImageView) view.findViewById(R.id.favbtn);

        view.setTag(holder);

    }else{
        holder = (ViewHolder) view.getTag();
    }
    CodeList codes = (CodeList) getItem(position);
    holder.listHeading.setText(codeList.get(position).getListHeading());
    imageLoader.DisplayImage(codeList.get(position).getAlphabetimg(),
                             holder.alphabetList);


    if (checkFavoriteItem(codes)) {
        holder.favariteImage.setImageResource(R.drawable.favorite);
        holder.favariteImage.setTag("yes");
    } else {
        holder.favariteImage.setImageResource(R.drawable.unfavorite);
        holder.favariteImage.setTag("no");
    }                    

    view.setOnClickListener(new OnClickListener(){

            @Override
            public void onClick(View arg0){
                Intent intent = new Intent(context, SingleItemView.class);

                //intent.putExtra("listheading",
                //       (codeList.get(position).getListHeading()));
                //intent.putExtra("alphabetimg",
                //              (codeList.get(position).getAlphabetimg()));

                intent.putExtra("demovideo",
                                (codeList.get(position).getDailogdemovideo()));

                intent.putExtra("download",
                                (codeList.get(position).getDownloadCode()));



                // Start SingleItemView Class
                context.startActivity(intent);

            }
        });             

    return view;
}

public boolean checkFavoriteItem(CodeList checkCodes) {
    boolean check = false;
    List<CodeList> favorites = shrdprfrnce.getFavorites(context);
    if (favorites != null) {
        for (CodeList codes : favorites) {
            if (codes.equals(checkCodes)) {
                check = true;
                break;
            }
        }
    }
    return check;
}


public void add(CodeList codes) {
    (
    codeList.add(codes);
    notifyDataSetChanged();
}


public void remove(CodeList codes) {

    codeList.remove(codes);
    notifyDataSetChanged();
}   
公共类FinalAdapter扩展BaseAdapter
{
语境;
充气机;
图像加载器;
私有列表codeList=null;
私有ArrayList ArrayList;
共享参考shrdprfrnce;
公共财务报表(上下文、,
列表(代码列表){
this.context=上下文;
this.codeList=代码列表;
充气器=充气器。从(上下文);
this.arraylist=新的arraylist();
this.arraylist.addAll(代码列表);
SHRDPFRNCE=新的SharedReference();
imageLoader=新的imageLoader(上下文);
}
公共类视图持有者{
文本视图列表标题;
文本视图列表哈希;
图像视图字母列表;
图像视图favariteImage;
}
@凌驾
public int getCount()
{
返回codeList.size();
}
@凌驾
公共对象getItem(int位置)
{
返回代码列表。获取(位置);
}
@凌驾
公共长getItemId(int位置)
{
返回位置;
}
@凌驾
公共视图getView(最终整数位置、视图视图、视图组父视图)
{
最终持票人;
如果(视图==null){
holder=新的ViewHolder();
视图=充气机。充气(R.layout.beg\u列表项,空);
holder.listHeading=(TextView)view.findViewById(R.id.beg\u list\u itemTextView);
//holder.listHash=(TextView)view.findViewById(R.id.listview\u hashtags);
holder.alphabetList=(ImageView)view.findViewById(R.id.beg\u list\u itemImageView);
holder.favariteImage=(ImageView)view.findViewById(R.id.favbtn);
视图.设置标签(支架);
}否则{
holder=(ViewHolder)view.getTag();
}
代码列表代码=(代码列表)
@Override
public boolean onItemLongClick(AdapterView < ? > arg0, View arg1,
 int pos, long id) {

 Log.v("long clicked", "pos: " + pos);

 return true;
}
plz remove 
view.setOnClickListener(new OnClickListener(){

        @Override
        public void onClick(View arg0){
            Intent intent = new Intent(context, SingleItemView.class);

            //intent.putExtra("listheading",
            //       (codeList.get(position).getListHeading()));
            //intent.putExtra("alphabetimg",
            //              (codeList.get(position).getAlphabetimg()));

            intent.putExtra("demovideo",
                            (codeList.get(position).getDailogdemovideo()));

            intent.putExtra("download",
                            (codeList.get(position).getDownloadCode()));



            // Start SingleItemView Class
            context.startActivity(intent);

        }
    });