2011-11-10 79 views
0

我有一個列表,其中每個對象的類型任務。我創建了一個列表,用於播放列表中的所有任務細節。 我的代碼給出如下:Android的列表查看ClickListener

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; 
} 

現在我arrayadpter類:

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的細節。這裏的詳細信息表示該任務對象的屬性,應該以新佈局的文本視圖的形式顯示。不是對話框或Toast ..

+4

你的問題是什麼? –

+0

告訴我們你的問題? –

回答

0

在你的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(); 

      } 
     } 
    }