В настоящее время я пишу «net.superlinux.tcltktutorials», которые вы можете найти в магазине Play сейчас.
Теперь в приложении я хочу использовать стандартный способ использования локалей вместо того, чтобы делать локали. Мне пришлось добавить для арабского / res / vlaues-ar, и у меня есть значение по умолчанию для английского / res / values.
Приложение основано на рекламе YouTube Playlist TCL / Tk. Теперь плейлист может быть на арабском и английском языках. Что я заметил, так это то, что если у вас есть 36 записей по умолчанию / res / values и 35 записей / res / values-ar для одного и того же списка воспроизведения, это сделает исключение ResourceNotFound. Все, что вам нужно сделать, это добавить отсутствующую запись как пустую внизу списка, чтобы сделать ее равной по номерам на английском и арабском языках, даже если в английском списке воспроизведения меньше цифр.
Это был мой метод добавления в список воспроизведения, сформированный в списке действий, а также умный способ использования ресурсов в качестве встроенных данных XML:
package net.superlinux.tcltktutorials;
import java.util.ArrayList;
import java.util.List;
import android.app.ListActivity;
import android.content.Intent;
import android.net.Uri;
import android.os.Bundle;
import android.util.Log;
import android.view.View;
import android.widget.ArrayAdapter;
import android.widget.ListView;
public class ListOfVideos extends ListActivity {
List<String> model = new ArrayList<String>();
ArrayAdapter<String> adapter = null;
List<String> filename = new ArrayList<String>();
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.listview);
adapter = new ArrayAdapter<String> (this, R.layout.list_item, model);
load_playlist();
setListAdapter(adapter);
}
@Override
protected void onListItemClick(ListView l, View v, int position, long id) {
// TODO Auto-generated method stub
super.onListItemClick(l, v, position, id);
String selected_youtube_video=filename.get(position);
try {Intent i = new Intent(Intent.ACTION_VIEW, Uri.parse("vnd.youtube:"+selected_youtube_video));
startActivity(i);
}
catch(Exception e){
startActivity(new Intent(Intent.ACTION_VIEW, Uri.parse("http://www.youtube.com/watch?v="+selected_youtube_video+"&loop=1&autoplay=1")));
e.printStackTrace();
}
}
void load_playlist()
{
int display_id=0;
int file_id=0;
//loop forever until nothing has to be added to the ListView or stop if the list item
// to be added does not exist.
for (int i=0;;i++){
display_id=getResources().getIdentifier("display_"+i, "string", getPackageName());
if (display_id!=0 && getString(display_id).length()!=0)
adapter.add(getString(display_id));
else {
Log.e("string id not found or empty","R.string.display_"+i );
return;
}
file_id=getResources().getIdentifier("file_"+i, "string", getPackageName());
if (file_id!=0 && getString(file_id).length()!=0){
filename.add(getString(file_id));
}
else {
Log.e("string id not found or empty","R.string.file_"+i );
return;
}
}
}
}