如何在OnClickListener中发送变量

时间:2015-06-05 20:57:56

标签: android

我将为新小部件创建onClick函数onClick。我从res / raw加载可变数据。但我需要一些ID来加载它。我用getResources().getIdentifier() 它看起来像这样:

TextView ans = new TextView(this);
String exm = "demo";
 ans.setOnClickListener(
                            new View.OnClickListener() {
                                @Override
                                public void onClick(View view) {
                                    Intent intent = new Intent(FullscreenActivity.this, Video.class);
                                    intent.putExtra("ex", getResources().getIdentifier( exm,"raw", getPackageName()));
                                    startActivity(intent);
                                }
                            }
            );

我有关于变量非内部类变量的错误。但我不能final它 - 它将是可变的。如何在新对象OnClickListener和函数onClick中发送变量?

2 个答案:

答案 0 :(得分:0)

最简单的方法是将其设为包含Activity的成员变量。

答案 1 :(得分:0)

将其作为类变量

 public class MyActivity extends Activity {
        String exm = "demo";
        @Override
        protected void onCreate(Bundle savedInstanceState) {
            super.onCreate(savedInstanceState);
            ans.setOnClickListener(
                    new View.OnClickListener() {
                        @Override
                        public void onClick(View view) {
                            Intent intent = new Intent(FullscreenActivity.this, Video.class);
                            intent.putExtra("ex", getResources().getIdentifier( exm,"raw",  getPackageName()));
                            startActivity(intent);
                        }
                    }
            );
        }
    }