Java SetOnCLickListener问题

Java SetOnCLickListener问题,java,android,Java,Android,我的设置ClickListener有问题。我想不出我需要什么代码。我试图做的是,一旦在列表视图中单击该项,它就会打开一个新的活动。在我的代码中,列表视图位于MainActivity中。我想让它开启家庭作业活动。所以我的问题是,有谁能帮我弄清楚我需要投入什么才能让它正常工作,并打开homography.java?当它打开Homebook.java时,它会将列表视图中单击的项目显示为标题。那么体内什么都没有 MainActivity.class: public class VideoListTask

我的
设置ClickListener有问题。我想不出我需要什么代码。我试图做的是,一旦在列表视图中单击该项,它就会打开一个新的活动。在我的代码中,列表视图位于MainActivity中。我想让它开启家庭作业活动。所以我的问题是,有谁能帮我弄清楚我需要投入什么才能让它正常工作,并打开homography.java?当它打开Homebook.java时,它会将列表视图中单击的项目显示为标题。那么体内什么都没有

MainActivity.class

public class VideoListTask extends AsyncTask<Void, Void, Void>{
ProgressDialog dialog;
protected void onPreExecute (Void result) {
    dialog.getProgress();
    super.onPostExecute(result);
}
@Override
   protected  Void doInBackground(Void... params)
{
    HttpClient client = new DefaultHttpClient();
    //HttpGet getRequest = new HttpGet(feedUrl);
    Date now = new Date();

    HttpGet getRequest = new HttpGet(canvasUrl + "courses?      include[]=term&state=available");

    getRequest.setHeader("Authorization","Bearer " + canvasApiKey); //uses your key to access your data
    try
    {
       HttpResponse response = client.execute(getRequest);
        StatusLine statusLine = response.getStatusLine();
        int statusCode = statusLine.getStatusCode();
        if(statusCode != 200)
        {
            return null;
        }
        InputStream jsonStream = response.getEntity().getContent();
        BufferedReader reader = new BufferedReader(new InputStreamReader(jsonStream));
        StringBuilder builder = new StringBuilder();
        String line;
        while((line = reader.readLine())!=null)
        {
            builder.append(line);
        }
        String jsonData = builder.toString();
        //JSONObject json = new JSONObject(jsonData);
        //JSONObject data = json.getJSONObject("data");
        //JSONArray items = data.getJSONArray("items");
        JSONArray courses = new JSONArray(jsonData);
        //for(int i =0; i<items.length(); i++)
        //{
        //    JSONObject video = items.getJSONObject(i);
        //    videoArrayList.add(video.getString("title"));
        //}

        for(int i = 0; i<courses.length(); i++)
        {
            JSONObject course = courses.getJSONObject(i);
            JSONObject term = course.getJSONObject("term");
            SimpleDateFormat format = new SimpleDateFormat("yyyy-MM-dd'T'HH:mm:ss'Z'");
            try {
              Date enddate = format.parse(term.getString("end_at"));
              Date startdate = format.parse(term.getString("start_at"));
              if (now.after(startdate) && now.before(enddate))
              {
                  videoArrayList.add(course.getString("name"));
              }
            } catch (Exception e) {
              //videoArrayList.add(course.getString("name"));//include if you want      undated courses
            }

        }
    }
    catch (ClientProtocolException e)
    {
        e.printStackTrace();
    }
    catch (IOException e)
    {
        e.printStackTrace();
    } catch (JSONException e) {
        e.printStackTrace();
    }

    return null;


   THIS IS WHERE I NEED TO PUT THE ONCLICK LISTENER IN. 
     }
公共类VideoListTask扩展了AsyncTask{
进程对话;
受保护的void onPreExecute(void结果){
dialog.getProgress();
super.onPostExecute(结果);
}
@凌驾
受保护的Void doInBackground(Void…参数)
{
HttpClient=new DefaultHttpClient();
//HttpGet getRequest=新的HttpGet(feedUrl);
现在日期=新日期();
HttpGet getRequest=新的HttpGet(canvasUrl+“课程?包括[]=学期和状态=可用”);
getRequest.setHeader(“授权”、“承载者”+canvasApiKey);//使用密钥访问数据
尝试
{
HttpResponse response=client.execute(getRequest);
StatusLine StatusLine=response.getStatusLine();
int statusCode=statusLine.getStatusCode();
如果(状态代码!=200)
{
返回null;
}
InputStream jsonStream=response.getEntity().getContent();
BufferedReader=new BufferedReader(new InputStreamReader(jsonStream));
StringBuilder=新的StringBuilder();
弦线;
而((line=reader.readLine())!=null)
{
builder.append(行);
}
字符串jsonData=builder.toString();
//JSONObject json=新的JSONObject(jsonData);
//JSONObject data=json.getJSONObject(“数据”);
//JSONArray items=data.getJSONArray(“items”);
JSONArray课程=新JSONArray(jsonData);

//对于(int i=0;i,如果家庭作业.java是您的第二个活动,您可以用这种方式设置单击侦听器

主要活动

@Override
public void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    ....
    ListView myListView = (ListView) findViewById(R.id.myListView);
    myListView.setOnItemClickListener(new OnItemClickListener()
    {
       @Override
       public void onItemClick(AdapterView<?> adapter, View v, int position,
             long arg3) 
       {
              startActivity(new Intent(MainActivity.this, Homework.class));
       }
    });
@覆盖
创建时的公共void(Bundle savedInstanceState){
super.onCreate(savedInstanceState);
....
ListView myListView=(ListView)findViewById(R.id.myListView);
myListView.setOnItemClickListener(新的OnItemClickListener()
{
@凌驾
公共单击(适配器视图适配器,视图v,内部位置,
长arg3)
{
开始活动(新的意图(MainActivity.this、家庭作业.class));
}
});
start.setOnClickListener(新视图.OnClickListener(){
@凌驾
公共void onClick(视图v){
//TODO自动生成的方法存根
试一试{
Class-ourClass=Class.forName(“com.example.projname.homography”);
Intent-ourIntent=新的Intent(MainActivity.this,ourClass);
ourIntent.putExtra(“矩阵”,m);
星触觉(ourIntent);
}catch(classnotfounde异常){
e、 printStackTrace();
}
});

使用putExtra传递的数据将在Homeactivity中提供给您。java

请转到我的答案:您可以尝试帮助我完成代码吗?您建议我个人做什么?家庭作业是一个单独的java文件。这仍然有效吗?我如何获取单击的listview项目的内容?您可以检索listview项目AdapterView对象使用getItemAtPosition()单击。例如,对于MyItemType item=(MyItemType)adapter.getItemAtPosition(position);main活动,我相信。更具体地说,在您选择选项的活动中。
start.setOnClickListener(new View.OnClickListener() {   
            @Override
            public void onClick(View v) {
                // TODO Auto-generated method stub


                    try{
                    Class<?> ourClass=Class.forName("com.example.projname.Homework");
                    Intent ourIntent= new Intent(MainActivity.this,ourClass);
                    ourIntent.putExtra("matrix", m);
                    startActivity(ourIntent);
                    }catch(ClassNotFoundException e){
                        e.printStackTrace();

                    }
             });