私は、フィールドをインタラクティブに追加したり削除したりできるアンドロイドアプリケーションを作成しています。ユーザーが追加する各フィールドには、いくつかのボタンと、ユーザーが対話できる値があります。私はそれが自分のonClickListenerを保持するフィールドを処理するためのサブクラスを作成すると思ったが、私はそうする方法がわからない。クラスを使ってアンドロイドでビューを設定する
ここに私の意図を明確にするべき擬似コードがあります。
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