List Listener无法正常工作!

时间:2011-04-06 08:05:58

标签: android

我的列表正在运行,但我用于收听的代码根本不起作用, 我将不得不使用什么代码,如果我想去另一个Activity(视图)而不是toast

package com.NVT.android;
import android.app.Activity;

import android.os.Bundle;

import android.widget.ArrayAdapter;

import android.widget.ListView;

public class Listview extends Activity {

private ListView list1;

private String array[] = { "Further Education", "Higher Education", "Employers & Training" };

/** Called when the activity is first created. */

@Override

public void onCreate(Bundle savedInstanceState) {

super.onCreate(savedInstanceState);

setContentView(R.layout.main1);

list1 = (ListView) findViewById(R.id.ListView01);

// By using setAdpater method in listview we an add string array in

// list.

list1.setAdapter(new ArrayAdapter(this,android.R.layout.simple_list_item_1, array));




// COPIED from android website



 ListView lv = getListView();
  lv.setTextFilterEnabled(true);

  lv.setOnItemClickListener(new OnItemClickListener() {
    public void onItemClick(AdapterView<?> parent, View view,
        int position, long id) {
      // When clicked, show a toast with the TextView text
      Toast.makeText(getApplicationContext(), ((TextView) view).getText(),
          Toast.LENGTH_SHORT).show();
    }
  });


}



}

}

3 个答案:

答案 0 :(得分:0)

尝试打印到LogCat而不是Toast,并确保onClick侦听器中的代码正在执行

lv.setOnItemClickListener(new OnItemClickListener() {
    public void onItemClick(AdapterView<?> parent, View view, int position, long id) {
      // When clicked, show a toast with the TextView text
      // Toast.makeText(getApplicationContext(), ((TextView) view).getText(), Toast.LENGTH_SHORT).show();
      Log.i("DebugMessage", "clicked an item..");
    }
  });

答案 1 :(得分:0)

不使用Toast Message中的getApplicationContext(),而是使用YourActivityname.this ..

然后提供静态文本而不是

((TextView) view).getText()

然后如果有效则尝试

((TextView) view).getText() ...

答案 2 :(得分:0)

要切换到另一个活动,您必须创建一个intent,指定目标活动类并将该intent传递给startActivity方法。

    lv.setOnItemClickListener(new OnItemClickListener() {
public void onItemClick(AdapterView<?> parent, View view,
    int position, long id) {
  // create an intent 
     Intent intent = new Intent(yourCurrentActivity.this,targetActivity.class)
      startActivity(intent);   
}

});