【问题标题】:Custom list view onclick on item [duplicate]自定义列表视图onclick项目[重复]
【发布时间】:2013-09-16 21:25:34
【问题描述】:
   holder.txtTitle.setOnClickListener(new View.OnClickListener() {
        @Override
        public void onClick(View v) 
        {
            System.out.println("hhhhhhhhhhhhhhhhhhhh");

          Intent i2 = new Intent(this,ImageSelection.class);
          startActivity(i2);      


        }
  });

这会触发.. 但我不能从这里调用 Intent。得到空指针异常..有人有同样的吗?

【问题讨论】:

    标签: android listview


    【解决方案1】:

    您在监听器中使用this,那么它将属于监听器对象。但是您需要 Context 对象来声明 Intent。 所以你需要把this改成YOUR_ACTIVITY_NAME.this


    改变

    Intent i2 = new Intent(this,ImageSelection.class);
    startActivity(i2);
    

    Intent i2 = new Intent(YOUR_ACTIVITY.this,ImageSelection.class);
    YOUR_ACTIVITY.this.startActivity(i2); 
    

    哦,是的,您正在尝试从适配器启动活动。

    那么应该是

    Intent i2 = new Intent(context_object_which_is_in_adapter, ImageSelection.class);
    context_object_which_is_in_adapter.startActivity(i2); 
    

    【讨论】:

      【解决方案2】:

      您正试图从您的自定义 ListView 适配器开始另一个活动,对吗?

      比这样做:

           Intent i2 = new Intent(mContext ,ImageSelection.class);
           mContext.startActivity(i2);
      

      其中mContext 是调用活动的Context

      【讨论】:

      • 是的,仅适用于适配器。让我试试这个家伙
      • 会接受,说6分钟内不能接受..
      【解决方案3】:

      试试这个..

      Intent i2 = new Intent(YOUR_ACTIVITY.this,ImageSelection.class);
      YOUR_ACTIVITY.this.startActivity(i2);
      

      最好的祝福

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 2016-06-02
        • 1970-01-01
        • 1970-01-01
        • 2013-10-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多