10

私はこのコードを持っています:

translateRight("iv1"); //iv1 is an id of an imageView

    private void translateRight(String st){

    ImageView img = (ImageView)findViewById(R.id.st);
        Animation a = AnimationUtils.loadAnimation(this, R.anim.translate_right);
        img.startAnimation(a);
    }

アニメーションを表示するメソッドである「translateRight」がありますが、このメソッドではリソースIDを渡す必要があります。文字列を試してみましたが、うまくいきません。どうすればよいですか?

4

4 に答える 4

15

リソースID-は整数値です。渡すだけint

private void translateRight(int resource){
    ImageView img = (ImageView) findViewById(resource);
    //stuff
}
于 2012-09-03T13:58:19.060 に答える
5

リソースIDは整数であり、文字列ではありません。

于 2012-09-03T13:57:11.760 に答える
1
  1. 2番目のアプローチは、findViewByIdを直接渡すことです。

    boolean tvStatus = status((CheckBox)findViewById(R.id.vn));

      public boolean status(CheckBox ch)
         {
    
             boolean ll=ch.isChecked() ;
             return  ll;
         }
    
于 2020-09-06T20:44:19.190 に答える
0

これを行うには2つのアプローチがあると思います。

  1. メソッドにID名を渡します。

ここで、statusはメソッドであり、id_nameはIDの名前です(任意の名前にすることができます)

これをどのように受け取りますか?

 // This is how you call the method
 status(R.id.id_name)

 public boolean status(int id)
    {
      CheckBox ch = findViewById(id);
      boolean = ch.isChecked();
      return s;
    }

それが役立つことを願っています...

于 2020-09-06T20:35:44.873 に答える