Android在新线程中创建服务

时间:2016-11-02 11:10:53

标签: android multithreading service

您好我在bindviewholder上有自定义适配器的listview我有:

@Override
public void onBindViewHolder(final AdapterRecyclerViewEventiComposti.ViewHolder holder, final int position)
{
    String tmp=listaEventiComposti.get(position);
    holder.title.setText(tmp);
    holder.itemView.setOnClickListener(new View.OnClickListener() {
        @Override
        public void onClick(View view) {

            context.startService(new Intent(context, GestioneEvento.class));

        }
    });
}

当我点击listview上的项目时,我执行GestioneEvento,将Service扩展到方法onStartCommand我有:

@Override
public int onStartCommand(Intent intent, int flags, final int startId) {
    Runnable r = new Runnable() {
        public void run() {

            //execute my operations

        }
    }; 
   Thread t = new Thread(r);
    t.start();
    return Service.START_STICKY;
  }

我希望当我点击listview的项目时,我创建一个新线程并且线程的每个生命周期都是分开的。例如: 列表显示 项目1 项目2 项目3

我单击Item1并开始新线程,在我单击Item2并启动新线程后立即再次单击Item1并且我只停止Item1的线程,而Item2继续在后台工作。 所以我上面做的是对的吗? 现在,如果我只想停止Item1的线程,我该怎么做?

0 个答案:

没有答案