Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/207.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Android Listview ClickListener_Android_Listview - Fatal编程技术网

Android Listview ClickListener

Android Listview ClickListener,android,listview,Android,Listview,我有一个列表,其中每个对象都属于Task类型。我已经创建了一个列表,在该列表的行中播种所有任务详细信息。 我的代码如下: lv=this.getListView(); if(createtaskSubList().size() != 0) { //createTaskSubList gives me the List of taskObjects MyCustomAdapter adapter = new MyCustomAdapt

我有一个列表,其中每个对象都属于Task类型。我已经创建了一个列表,在该列表的行中播种所有任务详细信息。 我的代码如下:

lv=this.getListView();
    if(createtaskSubList().size() != 0)
    {
                //createTaskSubList gives me the List of taskObjects
        MyCustomAdapter adapter = new MyCustomAdapter(this,createtaskSubList());
        lv.setAdapter(adapter);
        lv.setDividerHeight(2);
        lv.invalidateViews();
    }
}
private ArrayList<Task> createtaskSubList() {
    // TODO Auto-generated method stub
    ArrayList<Task> taskSubList= new ArrayList<Task>();
    String[] values={ Integer.toString(userId),Integer.toString(number),Integer.toString(page)};
    String taskList = Helper.getfromUrl(taskDataFetch,values);
    if(taskList.length()!=0)
    {   
        String delims = ("[|]");
        String[] tasks = taskList.split(delims);
        int i=0;
        //Splitting Task series into individual items
        for (i = 0; i < tasks.length; i++) {
            String limit = ("','");
            String[] taskItem = tasks[i].split(limit);
            taskSubList.add(new Task(taskItem[1],Integer.parseInt(taskItem[2]),Integer.parseInt(removeCharAt(taskItem[0],0)),Integer.parseInt(taskItem[4]),Integer.parseInt(taskItem[5]),taskItem[6],Integer.parseInt(taskItem[3])));
        }
    }
    return taskSubList;
}
现在我的ArrayAddter类是:

import java.util.ArrayList;

 import android.app.Activity;
 import android.graphics.Color;
 import android.view.LayoutInflater;
  import android.view.View;
 import android.view.ViewGroup;
 import android.widget.ArrayAdapter;
  import android.widget.TextView;

public class MyCustomAdapter extends ArrayAdapter<Task> {
 private final Activity context;
ArrayList<Task> taskSubList =new ArrayList<Task>();
public MyCustomAdapter(Activity context,ArrayList<Task> taskSubList) {

    super(context, R.layout.teammember, taskSubList);
    this.context = context;
    this.taskSubList=taskSubList;
}



@Override
public View getView(final int position, View convertView, ViewGroup parent) {

    LayoutInflater inflater = context.getLayoutInflater();
    View rowView = inflater.inflate(R.layout.teammember, null, true);
    final TextView text = (TextView) rowView.findViewById(R.id.label);
    final TextView status = (TextView) rowView.findViewById(R.id.status);
    final TextView time = (TextView) rowView.findViewById(R.id.time);
    //time.setText(formatTime(taskSubList.get(position).getTimeSpent()));

    text.setText(taskSubList.get(position).getName());
    if(taskSubList.get(position).isCompleted()==0)
    {
        status.setText("Not Completed");
        status.setTextColor(Color.RED);
    }
    else
    {
        status.setText("Completed");
        status.setTextColor(Color.parseColor("#468765"));
    }
    return rowView;
}
我需要将其更改为这样一种方式,即列表应仅包含名称,当我单击这些名称时,必须调用一个意图,该意图给出一个显示该特定TaskObject详细信息的布局。此处的详细信息是指该task object的属性,该属性应在新布局中以文本视图的形式显示。而不是对话框或Toast..

您的getView

status.setOnClickListener(new MyClickListener(position));




public class MyClickListener implements OnClickListener {
    private int posi;
        public MyClickListener(int position) {
                this.posi = position;
            }
            public void onClick(View v) {
                CustomDialog customDialog = new CustomDialog(ViewDetials.this);
        customDialog.show();
                //              Toast.makeText(getBaseContext(), "text view clicked",Toast.LENGTH_SHORT).show();

            }
        }
    }