данные о намерениях для CustomeView(canvast) Android studio

#java #android-studio #canvas #android-intent #android-custom-view

#Ява #android-студия #холст #android-намерение #android-пользовательский вид

Вопрос:

Я хочу передать данные с моего Information.class чтобы CustomeView.class который расширяет обзор, чтобы нарисовать схему комнаты.

это мой класс CustomView

 public class CustomeView extends View {  private Rect mRectSquare; private Paint mPaintSquare;  public CustomeView(Context context) {   super(context);  init(null);   } public CustomeView(Context context, @Nullable AttributeSet attrs) {  super(context, attrs);  init(attrs);  }  public CustomeView(Context context, @Nullable AttributeSet attrs, int defStyleAttr){  super(context, attrs, defStyleAttr);  init(attrs);   } public CustomeView(Context context, @Nullable AttributeSet attrs, int defStyleAttr,  int defStyleRes){  super(context, attrs, defStyleAttr, defStyleRes);  init(attrs);  }  private void init (@Nullable AttributeSet set) {  mRectSquare = new Rect();  mPaintSquare = new Paint(Paint.ANTI_ALIAS_FLAG);  setBackgroundColor(Color.TRANSPARENT);  mPaintSquare.setColor(Color.RED);  }  @Override  protected void onDraw (Canvas canvas)  {  mRectSquare.top = 100;  mRectSquare.left = 100;  mRectSquare.right = mRectSquare.left   500;  mRectSquare.bottom = mRectSquare.top   200;   setBackgroundColor(Color.TRANSPARENT);  canvas.drawRect(mRectSquare, mPaintSquare);  } }  

введите описание изображения здесь

моя Информация.Класс

 public class Information extends AppCompatActivity {   private Button button;  private EditText et1;  private EditText et2;  private EditText et3;  private EditText et4;  private EditText et5;  private Button liczenie;    @Override  protected void onCreate(Bundle savedInstanceState) {  super.onCreate(savedInstanceState);  setContentView(R.layout.activity_information);  button = findViewById(R.id.button4);  liczenie = findViewById(R.id.button2);  et1 = findViewById(R.id.editTextNumberDecimalTest3);  et2 = findViewById(R.id.editTextNumberDecimal2);  et3 = findViewById(R.id.editTextNumber);  et4 = findViewById(R.id.editTextNumber2);  et5 = findViewById(R.id.editTextNumber3);  liczenie.setEnabled(false);    et1.addTextChangedListener(textWatcher);  et2.addTextChangedListener(textWatcher);  et3.addTextChangedListener(textWatcher);  et4.addTextChangedListener(textWatcher);  et5.addTextChangedListener(textWatcher);   et1.setFilters(new InputFilter[]{new DecimalDigitsInputFilter(4, 2)});  et2.setFilters(new InputFilter[]{new DecimalDigitsInputFilter(4, 2)});    button.setOnClickListener(new View.OnClickListener() {  @Override  public void onClick(View v) {  pressback();  }  });   liczenie.setOnClickListener(new View.OnClickListener() {  @Override  public void onClick(View v) {   Liczenie();   }  });   }  private TextWatcher textWatcher = new TextWatcher() {  @Override  public void beforeTextChanged(CharSequence s, int start, int count, int after) {   }   @Override  public void onTextChanged(CharSequence s, int start, int before, int count) {  String dl = et1.getText().toString();  String sr = et2.getText().toString();  String dl1 = et3.getText().toString();  String dl2 = et4.getText().toString();  String il = et5.getText().toString();   if (!dl.isEmpty() amp;amp; !sr.isEmpty() amp;amp; !dl1.isEmpty() amp;amp; !dl2.isEmpty() amp;amp; !il.isEmpty()) {  liczenie.setEnabled(true);  } else {  liczenie.setEnabled(false);  }    }   @Override  public void afterTextChanged(Editable s) {   }   };   public void pressback() {  Intent intent = new Intent(this, ChooseScreen.class);  startActivity(intent);  }   public void Liczenie() {   double n1 = Double.parseDouble(et1.getText().toString());  double n2 = Double.parseDouble(et2.getText().toString());  double n3 = Double.parseDouble(et5.getText().toString());  double result = n1 * n2;  int result2 = (int) n3;    String result3 = String.valueOf(result);  String result4 = String.valueOf(result2);  Intent intent = new Intent(this, Schemat.class);  intent.putExtra("keyname", result3);  intent.putExtra("keyname2", result4);  startActivity(intent);   }   }  

I want to put data from ET1. and ET2. to CustomView, to make a length and width of the room diagram (the red square), but I don’t know how to Intent data from EditText1 to mRectSquare.top after Intending it to my Diagram class Which showing whole output after input data.

That’s how to input data looks like

введите описание изображения здесь

Резюме, я хочу поместить данные в «ET1/ET2» Из информационного класса, отправить их в класс CustomView в «mRectSquare.вверху/слева», чтобы создать схему помещения из этих данных.