Я новичок в Android Программирование, просто изучение веревок. Попытка создания моего первого приложения, и у меня возникла проблема с определенной активностью. На эмуляторе все выглядит отлично (Pixel 2). Так что, как и все остальные, я скачал приложение на свое персональное устройство (Samsung Galaxy S8). У этого действия возникла проблема с вводом даты, поэтому (/) необходимо, я, конечно, могу найти его на клавиатуре эмулятора, но не могу найти его на своем телефоне, как показано на снимках экрана. Входами EditText
являются date|datetime|time
.
. Приношу извинения за доставленные неудобства. Спасибо.
XML КОД
<?xml version="1.0" encoding="utf-8"?>
<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=".AddItems">
<TextView
android:id="@+id/textView3"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginStart="36dp"
android:layout_marginLeft="36dp"
android:text="Price:"
app:layout_constraintBottom_toBottomOf="@+id/PriceEditText"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toTopOf="@+id/PriceEditText" />
<EditText
android:id="@+id/NameEditText"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:ems="10"
android:inputType="textPersonName"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintHorizontal_bias="0.181"
app:layout_constraintStart_toEndOf="@+id/textView"
app:layout_constraintTop_toTopOf="parent"
app:layout_constraintVertical_bias="0.192" />
<TextView
android:id="@+id/textView"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginStart="36dp"
android:layout_marginLeft="36dp"
android:text="Name:"
app:layout_constraintBottom_toBottomOf="@+id/NameEditText"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toTopOf="@+id/NameEditText" />
<EditText
android:id="@+id/PriceEditText"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:ems="10"
android:inputType="number"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintHorizontal_bias="0.22"
app:layout_constraintStart_toEndOf="@+id/textView3"
app:layout_constraintTop_toTopOf="parent"
app:layout_constraintVertical_bias="0.411" />
<TextView
android:id="@+id/textView7"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginStart="36dp"
android:layout_marginLeft="36dp"
android:layout_marginBottom="198dp"
android:text="Date:"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintStart_toStartOf="parent" />
<TextView
android:id="@+id/textView8"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginTop="36dp"
android:text="Add your Items:"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintHorizontal_bias="0.5"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toTopOf="parent" />
<Button
android:id="@+id/addButton"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Add"
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.89" />
<Space
android:id="@+id/space"
android:layout_width="22dp"
android:layout_height="0dp"
android:layout_marginTop="8dp"
android:layout_marginBottom="8dp"
app:layout_constraintBottom_toTopOf="@+id/PriceEditText"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toBottomOf="@+id/NameEditText" />
<Space
android:id="@+id/space2"
android:layout_width="0dp"
android:layout_height="8dp"
android:layout_marginStart="203dp"
android:layout_marginLeft="203dp"
android:layout_marginTop="8dp"
android:layout_marginEnd="203dp"
android:layout_marginRight="203dp"
android:layout_marginBottom="8dp"
app:layout_constraintBottom_toTopOf="@+id/NameEditText"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toBottomOf="@+id/textView8" />
<Space
android:id="@+id/space3"
android:layout_width="3dp"
android:layout_height="0dp"
android:layout_marginStart="3dp"
android:layout_marginLeft="3dp"
android:layout_marginTop="8dp"
android:layout_marginEnd="3dp"
android:layout_marginRight="3dp"
app:layout_constraintEnd_toStartOf="@+id/space2"
app:layout_constraintStart_toStartOf="@+id/space4"
app:layout_constraintTop_toBottomOf="@+id/PriceEditText" />
<Space
android:id="@+id/space4"
android:layout_width="15dp"
android:layout_height="0dp"
android:layout_marginBottom="8dp"
app:layout_constraintBottom_toTopOf="@+id/addButton"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toStartOf="parent" />
<EditText
android:id="@+id/QuantityEditText"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginStart="16dp"
android:layout_marginLeft="16dp"
android:ems="10"
android:inputType="date|datetime|time"
app:layout_constraintBottom_toTopOf="@+id/textView7"
app:layout_constraintStart_toEndOf="@+id/textView7"
app:layout_constraintTop_toTopOf="@+id/textView7"
app:layout_constraintVertical_bias="0.577" />
</androidx.constraintlayout.widget.ConstraintLayout>
JAVA КОД КЛАССА
package com.example.smartids1;
import androidx.appcompat.app.AppCompatActivity;
import android.content.ClipData;
import android.content.SharedPreferences;
import android.os.Bundle;
import android.view.View;
import android.widget.Button;
import android.widget.EditText;
import com.google.gson.Gson;
import com.google.gson.reflect.TypeToken;
import java.lang.reflect.Type;
import java.text.DateFormat;
import java.text.ParseException;
import java.text.ParsePosition;
import java.text.SimpleDateFormat;
import java.util.ArrayList;
import java.util.Date;
public class AddItems extends AppCompatActivity {
String Name;
int Price;
//Date Quantity;
SimpleDateFormat Quantity = new SimpleDateFormat("dd/mm/yyyy");
EditText NameEditText;
EditText PriceEditText;
EditText QuantityEditText;
Button additem;
Items AddedItem;
Date myDate;
Shop shop;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_add_items);
loadData();
NameEditText = (EditText) findViewById(R.id.NameEditText);
PriceEditText = (EditText) findViewById(R.id.PriceEditText);
QuantityEditText = (EditText) findViewById(R.id.QuantityEditText);
additem = (Button) findViewById(R.id.addButton);
additem.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
Name=NameEditText.getText().toString();
Price=Integer.parseInt(PriceEditText.getText().toString());
try {
myDate = Quantity.parse(QuantityEditText.getText().toString());
} catch (ParseException e) {
e.printStackTrace();
}
//Quantity = new SimpleDateFormat("dd/mm/yyyy").parse(QuantityEditText.toString().trim(),new ParsePosition(1));
AddedItem = new Items(Name, Price, myDate);
MainActivity.getMainShop().addItem(AddedItem);
saveData();
}
});
}
public void loadData(){
SharedPreferences sharedPreferences = getSharedPreferences("shared prefrences", MODE_PRIVATE);
Gson gson = new Gson();
String json = sharedPreferences.getString("task list", null);
Type type = new TypeToken<ArrayList<Items>>(){}.getType();
MainActivity.getMainShop().ShopItems = gson.fromJson(json, type);
if(MainActivity.getMainShop().ShopItems==null)
MainActivity.getMainShop().ShopItems = new ArrayList<>();
}
public void saveData(){
SharedPreferences sharedPreferences = getSharedPreferences("shared prefrences", MODE_PRIVATE);
SharedPreferences.Editor editor = sharedPreferences.edit();
Gson gson = new Gson();
String json = gson.toJson(MainActivity.getMainShop().ShopItems);
editor.putString("task list", json);
editor.apply();
}
}
Изображения