There is a class:
public class MainGamePanel extends SurfaceView implements SurfaceHolder.Callback { StartActivity startActivity = new StartActivity(); SurfaceView mSurfaceView; SurfaceHolder mSurfaceHolder; Bitmap bitmap; Imageview imageview; public MainGamePanel(Context context, AttributeSet attributeSet) { super(context, attributeSet); getHolder().addCallback(this); bitmap = BitmapFactory.decodeResource(getResources(), R.mipmap.one); StartActivity.SetTime(5); //StartActivity.imageView1.setImageBitmap(bitmap);//в этом случае , как и в случае использования сеттера получаю Null } In the activit class:
public class StartActivity extends AppCompatActivity { ImageView; Bitmap bitmap; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_menu); bitmap = BitmapFactory.decodeResource(getResources(), R.mipmap.one); imageView1 = (ImageView) this.findViewById(R.id.imageView1); } public void SetTime (int Seconds1){ imageView1.setImageBitmap(bitmap); } .
<view class="example.igeniy.MainGamePanel" android:id="@+id/surface" android:layout_width="match_parent" android:layout_height="match_parent"> </view> <android.support.v7.widget.LinearLayoutCompat android:layout_width="wrap_content" android:layout_height="wrap_content"> <ImageView android:layout_width="wrap_content" android:id="@+id/imageView" android:layout_gravity="center_horizontal|top" android:layout_height="wrap_content" /> </android.support.v7.widget.LinearLayoutCompat> </FrameLayout> If strings
bitmap = BitmapFactory.decodeResource(getResources(), R.mipmap.one); imageView = (ImageView) this.findViewById(R.id.imageView) imageView.setImageBitmap(bitmap); transfer to the OnCreate method, then everything is displayed.
<view class="example.igeniy.MainGamePanel"want to findandroid:id="@+id/imageView"? you don't needthisin.findViewById(R.id.imageView), but your Activity is rjhdby