So im currently doing a project that is due soon.
it consists of making a phone app with number buttons etc..
One of the questions that the teacher asked us is to add a Imageview and use it as a button to clear the TextView when there is 10 characters or over.
any help is appreciated, I'm still very new to Android coding so my knowledge is very bad haha
here is my Java code:
Button no1,no2,no3,no4,no5,no6,no7,no8,no9,no0;
TextView tv1;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
no1=(Button) findViewById(R.id.no1);
no2=(Button) findViewById(R.id.no2);
no3=(Button) findViewById(R.id.no3);
no4=(Button) findViewById(R.id.no4);
no5=(Button) findViewById(R.id.no5);
no6=(Button) findViewById(R.id.no6);
no7=(Button) findViewById(R.id.no7);
no8=(Button) findViewById(R.id.no8);
no9=(Button) findViewById(R.id.no9);
no0=(Button) findViewById(R.id.no0);
tv1=(TextView)findViewById(R.id.tv1);
no1.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
tv1.setText(tv1.getText()+"1");
}
});
no2.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
tv1.setText(tv1.getText()+"2");
}
});
no3.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
tv1.setText(tv1.getText()+"3");
}
});
no4.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
tv1.setText(tv1.getText()+"4");
}
});
no5.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
tv1.setText(tv1.getText()+"5");
}
});
no6.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
tv1.setText(tv1.getText()+"6");
}
});
no7.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
tv1.setText(tv1.getText()+"7");
}
});
no8.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
tv1.setText(tv1.getText()+"8");
}
});
no9.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
tv1.setText(tv1.getText()+"9");
}
});
no0.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
tv1.setText(tv1.getText()+"0");
}
});
}
}
And here Is my XML:
<androidx.constraintlayout.widget.ConstraintLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
tools:context=".MainActivity">
<TextView
android:id="@+id/tv1"
android:layout_width="262dp"
android:layout_height="85dp"
android:layout_marginTop="4dp"
android:gravity="center|right"
android:textSize="30sp"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintHorizontal_bias="1.0"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toTopOf="parent"
android:maxLength="10"
android:inputType="phone" />
<ImageView
android:id="@+id/btnclear"
android:layout_width="79dp"
android:layout_height="73dp"
android:layout_marginStart="20dp"
android:layout_marginTop="16dp"
android:clickable="true"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toTopOf="parent"
app:srcCompat="@drawable/phone_on" />
<androidx.constraintlayout.widget.ConstraintLayout
android:layout_width="345dp"
android:layout_height="404dp"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toTopOf="parent"
app:layout_constraintVertical_bias="0.994">
<Button
android:id="@+id/no7"
android:layout_width="100dp"
android:layout_height="100dp"
android:text="7"
android:textSize="30sp"
app:layout_constraintBottom_toTopOf="@+id/no4"
app:layout_constraintEnd_toStartOf="@+id/no8"
app:layout_constraintHorizontal_bias="0.5"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toTopOf="parent" />
<Button
android:id="@+id/no8"
android:layout_width="100dp"
android:layout_height="100dp"
android:text="8"
android:textSize="30sp"
app:layout_constraintBottom_toTopOf="@+id/no5"
app:layout_constraintEnd_toStartOf="@+id/no9"
app:layout_constraintHorizontal_bias="0.5"
app:layout_constraintStart_toEndOf="@+id/no7"
app:layout_constraintTop_toTopOf="parent" />
<Button
android:id="@+id/no9"
android:layout_width="100dp"
android:layout_height="100dp"
android:text="9"
android:textSize="30sp"
app:layout_constraintBottom_toTopOf="@+id/no6"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintHorizontal_bias="0.5"
app:layout_constraintStart_toEndOf="@+id/no8"
app:layout_constraintTop_toTopOf="parent" />
<Button
android:id="@+id/no4"
android:layout_width="100dp"
android:layout_height="100dp"
android:text="4"
android:textSize="30sp"
app:layout_constraintBottom_toTopOf="@+id/no1"
app:layout_constraintEnd_toStartOf="@+id/no5"
app:layout_constraintHorizontal_bias="0.5"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toBottomOf="@+id/no7" />
<Button
android:id="@+id/no5"
android:layout_width="100dp"
android:layout_height="100dp"
android:text="5"
android:textSize="30sp"
app:layout_constraintBottom_toTopOf="@+id/no2"
app:layout_constraintEnd_toStartOf="@+id/no6"
app:layout_constraintHorizontal_bias="0.5"
app:layout_constraintStart_toEndOf="@+id/no4"
app:layout_constraintTop_toBottomOf="@+id/no8" />
<Button
android:id="@+id/no6"
android:layout_width="100dp"
android:layout_height="100dp"
android:text="6"
android:textSize="30sp"
app:layout_constraintBottom_toTopOf="@+id/no3"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintHorizontal_bias="0.5"
app:layout_constraintStart_toEndOf="@+id/no5"
app:layout_constraintTop_toBottomOf="@+id/no9" />
<Button
android:id="@+id/no1"
android:layout_width="100dp"
android:layout_height="100dp"
android:text="1"
android:textSize="30sp"
app:layout_constraintBottom_toTopOf="@+id/etoile"
app:layout_constraintEnd_toStartOf="@+id/no2"
app:layout_constraintHorizontal_bias="0.5"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toBottomOf="@+id/no4" />
<Button
android:id="@+id/no2"
android:layout_width="100dp"
android:layout_height="100dp"
android:text="2"
android:textSize="30sp"
app:layout_constraintBottom_toTopOf="@+id/no0"
app:layout_constraintEnd_toStartOf="@+id/no3"
app:layout_constraintHorizontal_bias="0.5"
app:layout_constraintStart_toEndOf="@+id/no1"
app:layout_constraintTop_toBottomOf="@+id/no5" />
<Button
android:id="@+id/no3"
android:layout_width="100dp"
android:layout_height="100dp"
android:text="3"
android:textSize="30sp"
app:layout_constraintBottom_toTopOf="@+id/Hashtag"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintHorizontal_bias="0.5"
app:layout_constraintStart_toEndOf="@+id/no2"
app:layout_constraintTop_toBottomOf="@+id/no6" />
<Button
android:id="@+id/etoile"
android:layout_width="100dp"
android:layout_height="100dp"
android:text="*"
android:textSize="30sp"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintEnd_toStartOf="@+id/no0"
app:layout_constraintHorizontal_bias="0.5"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toBottomOf="@+id/no1" />
<Button
android:id="@+id/no0"
android:layout_width="100dp"
android:layout_height="100dp"
android:text="0"
android:textSize="30sp"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintEnd_toStartOf="@+id/Hashtag"
app:layout_constraintHorizontal_bias="0.5"
app:layout_constraintStart_toEndOf="@+id/etoile"
app:layout_constraintTop_toBottomOf="@+id/no2" />
<Button
android:id="@+id/Hashtag"
android:layout_width="100dp"
android:layout_height="100dp"
android:text="#"
android:textSize="30sp"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintHorizontal_bias="0.5"
app:layout_constraintStart_toEndOf="@+id/no0"
app:layout_constraintTop_toBottomOf="@+id/no3" />
</androidx.constraintlayout.widget.ConstraintLayout>
</androidx.constraintlayout.widget.ConstraintLayout>
And heres a Screenshot of my design: Design part
Thanks for the help
First, you will need to make your ImageView clickable in the XML:
android:clickable="true"
You can then set the OnClickListener
on the ImageView like you did for the rest of your Buttons.