#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.вверху/слева», чтобы создать схему помещения из этих данных.