findViewById()
を非アクティビティクラスで使用するにはどうすればよいですか?以下は私のコードスニペットです。私は、エラーメッセージ "メソッドfindViewByIdを解決できません"が直接使用される場合があります。私はこのエラーを取得する(ImageViewのが利用可能である)クラスのコンストラクタを使用しようとすると非アクティビティクラスのFindViewById
public class MyBroadcastReceiver extends FirstBroadcastReceiver {
Activity activity;
public MyBroadcastReceiver(Context context, Activity activity){
this.context=context; // error here(cannot resolve symbol context)
this.activity=activity;
}
@Override
protected void (Context context) {
// content
}
@Override
public void onButton(Context context, boolean isClick) {
if(isClick) {
ImageView blueImage = (ImageView)activity.findViewById(R.id.imageView);
blueImage.setColorFilter(0xff000000);
}
}
.......
....
// and so on
を「シンボルコンテキストを解決できない」と以下MybroadcastReceiverクラスと私のMainActivityはそれが正しいinstance.Isされますか?インテントをリッスン完全にバックグラウンドで
public class MainActivity extends AppCompatActivity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
// and so on
}
}
MyBroadcastReceiver myBroadcastReceiver = new MyBroadcastReceiver(MainActivity.this,this);
@Override
public void onActivityResult() {
// some code
}
@Override
public void onInitialized(MyManager manager){
// some code
}
コンテキストパラメータとは何ですか?それがアクティビティの場合、それをアクティビティにキャストしてfindViewByIdを呼び出すことができます。そうしないと、 – WenChao
待ち、「Receiver」は何ですか?私はあなたが 'BroadcastReceiver'を意味すると思いますか? –
はいそれはBroadcastRecieverです – abdullah