【问题标题】:android expandable list need helpandroid可扩展列表需要帮助
【发布时间】:2011-06-03 04:20:29
【问题描述】:
public View getChildView(int groupPosition, int childPosition, boolean isLastChild, View convertView, ViewGroup parent) {
    View v = null;
    if( convertView != null )
        v = convertView;
    else
        v = inflater.inflate(R.layout.child_row, parent, false); 
    Color c = (Color)getChild( groupPosition, childPosition );
    TextView color = (TextView)v.findViewById( R.id.childname );
    if( color != null )
        color.setText( c.getColor() );
    TextView rgb = (TextView)v.findViewById( R.id.rgb );
    if( rgb != null )
        rgb.setText( c.getRgb() );
    //  CheckBox cb = (CheckBox)v.findViewById( R.id.check1 );
    //  cb.setChecked( c.getState() );
    Button btnPlay=(Button)v.findViewById(R.id.Play);
    Button btnDelete=(Button)v.findViewById(R.id.Delete);
    Button btnEmail=(Button)v.findViewById(R.id.Email);
    btnPlay.setOnClickListener(new View.OnClickListener() {

        @Override
        public void onClick(View arg0) {
            Log.i("TEST ", "play btn cliked");

            Intent i=new Intent(this,FindFilesByType.class);//THIS IS NOT ALLOWED IN MY CODE

        }
    });

    return v;
}

在上面的代码中,我编写了我的适配器类。 我小时候的可解释列表中有 3 个按钮。 我想在按钮的单击事件上调用另一个 Java 类, 所以,当我使用时:

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

我得到了这个:

The constructor Intent(new View.OnClickListener(){}, Class<FindFilesByType>) is undefined
Remove arguments to match 'Intent'

我在做什么有什么问题?

【问题讨论】:

    标签: android button android-intent expandablelistview


    【解决方案1】:

    您的 Intent 构造函数中的 this 对象是匿名 OnClickListener 类实例,而不是您当前的上下文。您需要做的是在该构造函数中使用当前上下文,例如:

    Intent i = new Itent(getContext(), FindFilesByType.class);
    

    【讨论】:

    • 最后我得到了我使用的解决方案 btnPlay.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View arg0) { Log.i("TEST", "play btn cliked") ; Intent i=new Intent(context,PlayingActivity.class); context.startActivity(i); } });这是有效的
    【解决方案2】:

    一开始,在 onCreate() 方法之前创建实例变量

    public static InstanceTest instance;
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        instance=this;
    }
    

    并在点击事件时在您的孩子中调用该变量

    public void onClick(View arg0) {
        Intent i=new Intent(instance,FindFilesByType.class);//This time it will be allowed
    }
    

    希望这能有所帮助。

    【讨论】:

      【解决方案3】:
      public View getChildView(int groupPosition, int childPosition,
              boolean isLastChild, View convertView, ViewGroup parent) {
          View v = null;
          if (convertView != null)
              v = convertView;
          else
              v = inflater.inflate(R.layout.child_row, parent, false);
          Rington c = (Rington) getChild(groupPosition, childPosition);
          TextView color = (TextView) v.findViewById(R.id.childname);
          if (color != null)
              color.setText(c.getColor());
          TextView rgb = (TextView) v.findViewById(R.id.rgb);
          if (rgb != null)
              rgb.setText(c.getRgb());
      
          Button btnPlay = (Button) v.findViewById(R.id.Play);
          Button btnDelete = (Button) v.findViewById(R.id.Delete);
          Button btnEmail = (Button) v.findViewById(R.id.Email);
          btnPlay.setOnClickListener(new View.OnClickListener() {
      
              @Override
              public void onClick(View arg0) {
                  //code
      
              }
          });
          btnDelete.setOnClickListener(new View.OnClickListener() {
      
              @Override
              public void onClick(View arg0) {
                  //code
      
              }
          });
          btnEmail.setOnClickListener(new View.OnClickListener() {
      
              @Override
              public void onClick(View arg0) {
                  //code
              }
          });
      
          return v;
      }
      

      上面的方法进入适配器类这对我来说是完全工作的代码:)

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2013-02-15
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2020-05-02
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多