android - 请教,安卓listview点击事件

 盎然茗嘉 发布于 2022-11-01 12:26

这个程序是有点小题大做。问题是这样的,我程序中没有给listView加上Onclicklistener监听啊,为什么运行后,我随意点击任何一个ListView的items时候都弹出footer呢?

看程序吧:

主程序:

package com.example.NotifyDataSetChangeDemo;

import android.app.Activity;
import android.os.Bundle;
import android.os.Handler;
import android.view.LayoutInflater;
import android.view.View;
import android.widget.Button;
import android.widget.ListView;
import android.widget.Toast;

import java.util.ArrayList;
import java.util.List;

public class MyActivity extends Activity implements View.OnClickListener{

        private List
list; private ListView listView; private MyAdapter adapter; private Button loadBtn, loadMoreBtn,loadingBtn; private Handler handler; private LayoutInflater mInflater; private View footer; @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.main); initView(); loadBtn.setOnClickListener(this); loadMoreBtn.setOnClickListener(this); } private void initView() { loadBtn = (Button) findViewById(R.id.load); loadMoreBtn = (Button) findViewById(R.id.loadMore); loadingBtn = (Button) findViewById(R.id.loading); list = new ArrayList
(); listView = (ListView) findViewById(R.id.listView); adapter = new MyAdapter(list, MyActivity.this); handler = new Handler(); mInflater = LayoutInflater.from(MyActivity.this); footer = mInflater.inflate(R.layout.footer, null); footer.setVisibility(View.GONE); listView.addFooterView(footer); } private void CreateDatas() { if (list.size()==0){ for (int i = 0; i < 10; i++) { Article article = new Article(); article.setTitle("I am a dog" + i); article.setContent("Yes,you are a big dog," + i); list.add(article); } }else { Toast.makeText(MyActivity.this,"You had loaded the original datas,please stop!",Toast.LENGTH_SHORT).show(); } } private void CreateMoreDatas() { int nowSize = list.size(); for (int i = nowSize; i < nowSize+5; i++) { Article article = new Article(); article.setTitle("I am new" + i); article.setContent("you are old man,guy," + i); list.add(article); } } @Override public void onClick(View v) { switch (v.getId()) { case R.id.load: CreateDatas(); listView.setAdapter(adapter); break; case R.id.loadMore: footer.setVisibility(View.VISIBLE); handler.postDelayed(new Runnable() { @Override public void run() { CreateMoreDatas(); adapter.notifyDataSetChanged(); listView.setAdapter(adapter); footer.setVisibility(View.GONE); } }, 3000); } } }

适配器:

package com.example.NotifyDataSetChangeDemo;

import android.content.Context;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import android.widget.BaseAdapter;
import android.widget.TextView;

import java.util.List;


public class MyAdapter extends BaseAdapter {

        private List
list; private Context context; private LayoutInflater mInflater; public MyAdapter(List
list, Context context) { this.list = list; this.context = context; mInflater = LayoutInflater.from(context); } @Override public int getCount() { return list.size(); } @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) { ViewHolder holder; if (convertView==null){ convertView = mInflater.inflate(R.layout.items, null); holder = new ViewHolder(convertView); holder.title = (TextView) convertView.findViewById(R.id.title); holder.content = (TextView) convertView.findViewById(R.id.content); convertView.setTag(holder); }else{ holder = (ViewHolder) convertView.getTag(); } holder.title.setText(list.get(position).getTitle()); holder.content.setText(list.get(position).getContent()); return convertView; } } class ViewHolder{ View view; TextView title; TextView content; public ViewHolder(View view) { this.view = view; } }

main.xml



    
        

footer.xml




    

items.xml



    

    

2 个回答
  • 我想这都不用细看就知道你所贴的代码不会出现你说的情况,改了代码就把出问题的代码老老实实贴上来再讨论吧,实事求是。

    2022-11-02 08:11 回答
  • 系统问题,原来用CM的系统,换个原装就没问题。搞乌龙了

    2022-11-02 08:15 回答
撰写答案
今天,你开发时遇到什么问题呢?
立即提问
热门标签
PHP1.CN | 中国最专业的PHP中文社区 | PNG素材下载 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有