2013-07-05 2 views
0

를 오브젝트 1 개체, 생성자 문자열 문자열 1, 문자열 문자열 2 문자열 string3을 만듭니다난 내 MainActivity에서 클래스를 생성 할

MyCard customCard1 = new MyCard(cardTitle.getText().toString(), 
       cardbuttonon.getText().toString(), 
     cardbuttonon.getText().toString(), 
     cardbuttonon.setOnClickListener(new View.OnClickListener() { 
      public void onClick(View v) { 
       String[] url={"url"}; 
       new onoff(MainActivity.this).execute(url); 
      }}); 
     mCardView.addCard(customCard1); 
     mCardView.refresh(); 

그러나 그는 생성자 MyCard (문자열, 문자열, 문자열, 정의되지 않은 객체 나에게 말을 이다

난 내 MyCard에 그를 정의 할 수있는 방법

:.

package de.heron.cloudbox; 

import android.content.Context; 
import android.view.LayoutInflater; 
import android.view.View; 
import android.widget.TextView; 

import com.fima.cardsui.objects.Card; 

public class MyCard extends Card { 

    public MyCard(String title, String desc, String string, Object setOnClickListener){ 
     super(title, desc); 
    } 
    @Override 
    public View getCardContent(Context context) { 
     View view = LayoutInflater.from(context).inflate(R.layout.card_ex, null); 

     ((TextView) view.findViewById(R.id.title)).setText(title); 
     ((TextView) view.findViewById(R.id.description)).setText(desc); 

     return view; 
    } 
} 

누군가가 내 문제가 나를 도울 수

을?

이유는 2 onclicklisteners으로 그것을 만들 수 있습니다 :

MyCardXml customCard1 = new MyCardXml(cardTitle.getText().toString(),cardbuttonon = (Button) findViewById(R.id.cardbuttonon),cardbuttonoff = (Button) findViewById(R.id.cardbuttonoff), 
       cardbuttonon.getText().toString(),cardbuttonoff.getText().toString(), 
     cardbuttonon.getText().toString(),cardbuttonoff.getText().toString(), 
     cardbuttonon.setOnClickListener(new View.OnClickListener() { 
      public void onClick(View v) { 

       String[] url={"http://everhome.de/api/applive/", "8ef43502ad3dc04f87b4a48b993878c0","/" + KEY_ID,"/" + KEY_COST}; 
       new onoff(MainActivity.this).execute(url); 
       }} 

       ),cardbuttonoff.setOnClickListener(new View.OnClickListener() { 
       public void onClick(View v) { 
        String[] url={"http://everhome.de/api/applive/", "8ef43502ad3dc04f87b4a48b993878c0","/" + KEY_ID,"/" + KEY_COST}; 
        new onoff(MainActivity.this).execute(url); 
       }} 

       )); 
     mCardView.addCard(customCard1); 
     mCardView.refresh(); 
+0

난 당신이 무슨 일을하는지 모르겠어요 오류를 해결할 구축하는 때 네 번째 매개 변수에서 개체를 전달하는 것이 아니라, 인수의 절반을 사용하더라도 변수 이름은 기괴하며 들여 쓰기가 엉망입니다. MyCard 생성자가'setOnClickListener'라는 매개 변수를 사용하는 이유는 무엇입니까? 그 이름은 물체를 묘사하는 것처럼 들리지 않습니다. 그것은 마치 행동을 묘사하는 것처럼 들립니다. – user2357112

+1

정확한 예외 사항을 알려주십시오. BeCuse MyCard customCard1 = 새 MyCard (..)가 완전히 닫히지 않았습니다. –

+0

Ashish의 코멘트에 대해 자세히 설명하면 : 'MyCard' 생성자 호출에 닫는 괄호가 없습니다. – user2357112

답변

1

처럼 생성자를 변경합니다. 당신은 MyCard`의 생성자가 아닌`당신이 object.This이

MyCard customCard1 = new MyCard(cardTitle.getText().toString(), 
      cardbuttonon.getText().toString(), 
    cardbuttonon.getText().toString(), 
    new View.OnClickListener() { 
     public void onClick(View v) { 
      String[] url={"url"}; 
      new onoff(MainActivity.this).execute(url); 
     }}); 
+0

감사합니다. 코드가 잘 작동합니다. – Fabian

+0

하지만 onclicklistener가있는 다른 버튼이있을 때는 어떻게해야합니까? – Fabian

1

당신이

public MyCard(String title, String desc, String string, View.OnClickListener setOnClickListener){ 
0

Object

변경

public MyCard(String title, String desc, String string, Object setOnClickListener){ 
     super(title, desc); 
    } 

대신 MyCard 생성자에 View.OnClickListener를 통과해야 당신 ~을 가지고있다 오 당신의 생성자는 네 번째 매개 변수로 객체을 필요로이

public MyCard(String title, String desc, String string, OnClickListener clickListener){ 

} 
관련 문제