Я делаю специфическое для языка приложение, в котором пользователь выбирает язык из списка (хинди или английский).Android Hindi Text Отображение специальных символов
Что происходит, когда пользователь выбирает английский язык, все работает отлично, т.е. пользователь вставляет данные в базу данных, а затем извлекает их в текстовые поля правильно, но когда пользователь выбирает язык хинди и вставляет данные в базу данных на языке хинди, он отображает текст значение полей как "??????"
Я хочу это текстовые поля значения должны быть отображены на языке хинди .. Я использовал Typeface для этого, но это не работает Это моя часть кода
Typeface tf = Typeface.createFromAsset(getAssets(), "fonts/hindi.ttf"); //i have put hindi.ttf file in fonts folder under assets under main
name.setTypeface(tf);
save.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
if (view.getId() == R.id.tvsave) {
if (name.getText().toString().length() == 0) {
name.setError("Name cannot be empty");
} else if (phone.getText().toString().length() == 0) {
phone.setError("Phone No. cannot be empty");
}
else if(!phone.getText().toString().matches(phonePattern))
phone.setError("Invalid Mobile");
} else if (house.getText().toString().length() == 0) {
house.setError("House No. cannot be empty");
} else if (area.getText().toString().length() == 0) {
area.setError("Area cannot be empty");
} else if (landmark.getText().toString().length() == 0) {
landmark.setError("Landmark cannot be empty");
} else if
(name.getText().toString().length() == 0 || phone.getText().toString().length() == 0 || house.getText().toString().length() == 0 || area.getText().toString().length() == 0 || landmark.getText().toString().length() == 0) {
Toast.makeText(getApplicationContext(), "Please Enter Details",
Toast.LENGTH_LONG).show();
} else if (Utils.isNetworkAvailable(AddNewAddress.this)) {
new saveaddress().execute(custid, name.getText().toString(), phone.getText().toString(), house.getText().toString(), landmark.getText().toString(), datamodel.getId(), area.getText().toString()); //this is saving data into database
} else {
final Dialog dialog = new Dialog(AddNewAddress.this);
dialog.requestWindowFeature(Window.FEATURE_LEFT_ICON);
dialog.setContentView(R.layout.internetconnectiondialog);
dialog.setTitle(AddNewAddress.this.getResources().getString(R.string.connectionfailed));
TextView text = (TextView) dialog.findViewById(R.id.textDialog);
text.setText(AddNewAddress.this.getResources().getString(R.string.checkinternetsettings));
dialog.show();
Button declineButton = (Button) dialog.findViewById(R.id.declineButton);
declineButton.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
dialog.dismiss();
}
});
}
}
}
});
mySpinner = (Spinner) findViewById(R.id.spncity);
new spinnercity().execute(language);
}
class saveaddress extends AsyncTask<String, Void, String> {
@Override
protected void onPreExecute() {
dialogFrag.show(getSupportFragmentManager(), "Dialog");
dialogFrag.setCancelable(false);
super.onPreExecute();
}
@Override
protected String doInBackground(String... params) {
JSONObject jsonObject;
try {
String response = AddNewAddressPostHit.getJSONfromURL(params[0], params[1], params[2], params[3], params[4], params[5], params[6]);
jsonObject = new JSONObject(response.toString());
message = jsonObject.getString("Msg");
} catch (JSONException e) {
e.printStackTrace();
}
return null;
}
@Override
protected void onPostExecute(String result) {
dialogFrag.dismiss();
super.onPostExecute(result);
}
Я хочу, чтобы эти text_fields
значение должен отображаться на языке Hindi
, когда пользователь вставляет данные в Hindi
язык еще English
Для этого я использовал Typeface
, но это не работает. Скажите, где я ошибаюсь как можно скорее.
Вы можете явно указать хинди текст в поле? –
Я не получил вас – Neha
, а не из db .. если вы установилиText некоторые хинди текст. В противном случае это может быть проблема с некоторыми символами в другом месте –