ListView中的TextView中的计数器

时间:2016-08-05 06:01:34

标签: android listview

我想用TextView和按钮创建一个ListView。当我按下项目按钮时,TextView开始更新,其他文本视图也不会更新。 它应该只有项目上的textview与我点击的按钮改变。 当我在listview中滚动时,其他文本视图也会更新

另一方面,我想创建MediaPlayer并处理每首歌曲的时间。我尝试了很多方法,但都没有工作。其中一些更新随机文本,其他更新其他文本滚动时。我还尝试了每次更新(每秒)的notifydata的另一种方式,但它阻止我按下其他按钮(它挂起)。

这是我的适配器:

            import java.util.ArrayList;
            import android.annotation.SuppressLint;
            import android.content.Context;
            import android.os.Handler;
            import android.view.LayoutInflater;
            import android.view.View;
            import android.view.ViewGroup;
            import android.widget.BaseAdapter;
            import android.widget.ImageView;
            import android.widget.TextView;
            import android.view.View.OnClickListener;

            public class Adapter_G extends BaseAdapter {
                private static ArrayList<Cool_Item_G> itemDetailsrrayList;
                private Handler durationHandler;
                private LayoutInflater l_Inflater;
                Context context2;
                TextView texts;
                int cn = 0;

                public Adapter_G(Context context, ArrayList<Cool_Item_G> results) {
                    itemDetailsrrayList = results;
                    l_Inflater = LayoutInflater.from(context);
                    context2 = context;
                    durationHandler = new Handler();

                }

                public int getCount() {

                    try {
                        return itemDetailsrrayList.size();
                    } catch (Exception e) {
                        return 0;
                    }
                }

                public Object getItem(int position) {
                    return itemDetailsrrayList.get(position);
                }

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

                public View getView(final int position, View convertView, ViewGroup parent) {
                    final ViewHolder holder;

                    if (convertView == null) {
                        convertView = l_Inflater.inflate(R.layout.zerk_item, null);
                        holder = new ViewHolder();
                        holder.go = (ImageView) convertView.findViewById(R.id.go);
                        holder.cool = (TextView) convertView.findViewById(R.id.Cool);

                        convertView.setTag(holder);
                    } else {
                        holder = (ViewHolder) convertView.getTag();
                    }

                    holder.Cool.setText("" + itemDetailsrrayList.get(position).z);

                    holder.go.setOnClickListener(new OnClickListener() {

                        @Override
                        public void onClick(View v) {
                            goNow(position, holder.Cool);
                        }
                    });

                    return convertView;
                }

                static class ViewHolder {
                    TextView cool;
                    ImageView go;

                }

                Handler m_handler;
                int zs = 0;
                Runnable m_handlerTask = null;

                public void goNow(final int position, final TextView text) {

                    m_handler = new Handler();
                    m_handlerTask = new Runnable() {
                        @Override
                        public void run() {

                            text.setText("" + zs);
                            zs++;
                            m_handler.postDelayed(m_handlerTask, 1000);

                        }
                    };
                    m_handlerTask.run();

                }
            }

1 个答案:

答案 0 :(得分:1)

尝试更改此

text.setText("" + zs);
zs++;

itemDetailsrrayList.get(position).z += itemDetailsrrayList.get(position).z;
notifyDataSetChanged();