У меня есть две Activity
. В обеих есть ListView
. Когда нажимаю на список первого Activity
, то откроется первый файл из папки raw
, но, когда нажимаю на список второго Activity
, то откроется тот файл, который открылся при нажатии на список первого Activity
. И так идёт дальше. Если сказать кратко, то при нажатии на каждый список обе Activity
откроют одинаковые файлы. Как сделать, чтобы при нажатии на список второго Activity
открылся второй файл из папки raw
, a не файл который открылся при нажатии на список первого Activity
Код MainActivity
private ListView lv1;
//Создаем массив разделов:
private String lv_arr[] = {
"Список-1",//n0
"Список-2",//n1
};
/**
* Called when the activity is first created.
*/
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
// Получим идентификатор ListView
lv1 = (ListView) findViewById(R.id.listView);
//устанавливаем массив в ListView
lv1.setAdapter(
new ArrayAdapter<String>(this, android.R.layout.simple_list_item_1, lv_arr));
lv1.setTextFilterEnabled(true);
//Обрабатываем щелчки на элементах ListView:
lv1.setOnItemClickListener(new AdapterView.OnItemClickListener() {
public void onItemClick(AdapterView<?> a, View v, int position, long id) {
//Позиция элемента, по которому щелкнули
String itemname = new Integer(position).toString();
Intent intent = new Intent();
intent.setClass(MainActivity.this, ViewActivity.class);
Bundle b = new Bundle();
//defStrID содержит строку, которую отправим через itemname в другое Activity
b.putString("defStrID", itemname);
intent.putExtras(b);
//запускаем Intent
startActivity(intent);
}
});
}
Код ViewActivity
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
requestWindowFeature(Window.FEATURE_NO_TITLE); //скрываем заголовок
setContentView(R.layout.view);
//скрываем строку состояния
Bundle bundle = getIntent().getExtras();
String itemname = "n" + bundle.getString("defStrID"); //получаем строку и формируем имя ресурса
Context context = getBaseContext(); //получаем контекст
//читаем текстовый файл из ресурсов по имени
String text = readRawTextFile(context, getResources().getIdentifier(itemname, "raw", "ru.akmaltilloev.frameeditguide"));
WebView myWebView = (WebView) findViewById(R.id.webView);
String summary = "<!Doctype html><html><head><meta charset=utf-8></head><body>" + text + "</body></html>";
myWebView.loadData(summary, "text/html; charset=utf-8", "utf-8"); //загружаем текст в webview
}
public static String readRawTextFile(Context ctx, int resId) //читаем текст из raw
{
InputStream inputStream = ctx.getResources().openRawResource(resId);
InputStreamReader inputreader = new InputStreamReader(inputStream);
BufferedReader buffreader = new BufferedReader(inputreader);
String line;
StringBuilder text = new StringBuilder();
try {
while ((line = buffreader.readLine()) != null) {
text.append(line);
text.append('\n');
}
} catch (IOException e) {
return null;
}
return text.toString();
}
Айфон мало держит заряд, разбираемся с проблемой вместе с AppLab
Перевод документов на английский язык: Важность и ключевые аспекты
Перебираю элементы итератором по css локаторам
Кто знает, как написать метод, который будет высчитывать сколько времени назад пользователь сделал то, или иное действие, и будет возвращать...
Подскажите, есть ли ошибки в рассужденияхнеобходимо установить модификатор synchronized только тем методам, которым необходимо
Привет всем, есть метод public String[] remove(String[] array), который должен удалить все дубликаты в массивеДля обрезания массива надо использовать метод...