0
    lv.setAdapter(adp);
    lv.setOnItemClickListener(new OnItemClickListener() {

        @Override
        public void onItemClick(AdapterView<?> arg0, View arg1, int arg2,
                long arg3) {
            // TODO Auto-generated method stub
            Cursor c = (Cursor)arg0.getItemAtPosition(arg2);
            call = c.getString(0);
            Intent i = new Intent(null, Ldetail.class);
            i.putExtra("id",call);
            startActivity(i);
4

5 回答 5

3

更改此行。

Intent i = new Intent(null, Ldetail.class);

而不是 null 使用 context 或 activityname.this 。您必须传递上下文或活动名称。

Intent i = new Intent(YourCurrentActivityName.this, Ldetail.class);

或者

Intent i = new Intent(getBaseContext(), Ldetail.class);

并在 android 清单文件中声明Ldetail活动。

于 2013-03-02T07:18:43.957 回答
1

试试这个,而不是使用 getapplicationcontext() ..

于 2013-11-29T07:39:39.577 回答
0
  usersList.setOnItemClickListener(new AdapterView.OnItemClickListener() {

在这里,您使用了适配器视图的视图,它是您的自定义适配器的父类。这就是为什么它不起作用。相反,您应该使用自定义适配器的视图。

这里的 getView() 函数帮助您将 Parent Adpater View 的 View 转换为 Custom Adapter View。

所以你使用这两个选项中的任何一个,

usersList.setOnItemClickListener(new CustomAdapterView.OnItemClickListener() {

或者

usersList.setOnItemClickListener(new OnItemClickListener() {
于 2013-03-02T07:18:28.293 回答
0

为什么你传递 null 而不是上下文?
在意图中添加您的上下文

Intent i = new Intent(yourclassname.this, Ldetail.class);
于 2013-03-02T07:19:55.123 回答
0
 Intent i = new Intent(null, Ldetail.class);
        i.putExtra("id",call);
        startActivity(i);

您必须传递上下文或活动。

     Intent i = new Intent(this, Ldetail.class);

或者

Intent i = new Intent(getBaseContext(), Ldetail.class);
于 2013-03-02T07:20:00.387 回答