사용자가 필드를 대화식으로 추가하고 제거 할 수있는 Android 애플리케이션을 작성 중입니다. 사용자가 추가하는 각 필드에는 사용자가 상호 작용할 수있는 몇 가지 버튼과 값이 있습니다. 나는 자신의 onClickListener를 보유 할 수있는 필드를 추가 할 수있는 서브 클래스를 만들 생각 이었지만 그렇게하는 방법을 모르겠습니다.클래스를 사용하여 android에서보기 설정
여기 내 의도를 분명히해야하는 의사 코드가 있습니다.
public class sClass extends View implements onClickListener{
this.setContextView(R.layout.vClass);//how do I do this in a correct way?
@Override
public void onClick(View v){ //add code here
}
}
및 응용 프로그램의 기본 클래스입니다 aClass :
내가 클래스 vClass을 말해봐.public class aClass extends Activity implements onClickListener{
Button b;
LayoutInflater i;
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
this.b =(Button)this.findViewById(R.id.btn);
b.setOnClickLister(this);
}
@Override
public void onClick(View v){
//this is what I have now to add View
final LinearLayout canvas =(LinearLayout)aClass.this.findViewById(R.id.main);
View cv =this.inflater.inflate(R.layout.counter, canvas, false);
canvas.addView(cv);
}
}
어떻게 vClass를 사용하여 요소를 aClass에 추가 할 수 있습니까?
타자를 치는 것은 다른 해결책에 대한 생각입니다.
나는 (하위 구성 요소없이) 추가 한 모든 뷰의 id의 추적 나는 그런 종류의 일을 할 수있는 경우 :
ID가 ID가 내가보기에 할당됩니다View vv = findViewById(id);
Button bb = vv.findViewByIf(R.id.xmlId);
하는 알아요, xmlId는 XML 파일에 지정된 문자열입니까?
감사
Yotam
솔루션을, 레이아웃에 사용
감사합니다 . 내가 놀아서 어떻게 진행되었는지 말해 줄거야. – Yotam
행운을 비네, 문제가 있으면 알려주십시오 – rekaszeru
이것에 대해 생각해 봅시다. 새로운 질문이 있습니다. 내가 배치 할 각보기에는 onClick에 응답해야하는 필드가 있습니다. 클릭 리 스터에 onClickLister를 설정해야하지만 클릭 한 것을 어떻게 확인할 수 있습니까? id가 오버로드되었으므로 getId() 메서드를 사용할 수 없습니다 ... 감사합니다. – Yotam