Форум программистов, компьютерный форум, киберфорум
Наши страницы

Программирование Android

Войти
Регистрация
Восстановить пароль
 
Gomez99
0 / 0 / 0
Регистрация: 02.06.2014
Сообщений: 13
#1

Поиск в listview с сохранением позиции элемента и открытия нужного html файла - Программирование Android

30.06.2014, 10:04. Просмотров 589. Ответов 0
Метки нет (Все метки)

Реализован поиск в ListView через Edit, находит нужный элемент списка, но при клике и переходе на другое Activity открывает не соответствующий элементу html файл. Кто реально поможет с поиском ждёт вознаграждение в размере 100 рублей на webmoney. Вот код:

1 -ое активити

Javascript
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
package ru.dreammobi.english;
 
 
import android.app.Activity;
import android.content.Intent;
import android.os.Bundle;
import android.text.Editable;
import android.text.TextWatcher;
import android.os.Handler;
import android.os.Message;
import android.view.View;
import android.widget.AdapterView;
import android.widget.AdapterView.OnItemClickListener;
import android.widget.ArrayAdapter;
import android.widget.ImageView;
import android.widget.EditText;
import android.widget.ListView;
 
public class CribActivity extends Activity 
{
    String lv_arr[]={"1. hello","2. sex","3. fuck","4. konchita",};
    Integer positon;
    ArrayAdapter<String> adapter;
    EditText inputSearch;
    private ListView lv1;
    private ImageView splash;
    private static final int STOPSPLASH = 0;
    private static final long SPLASHTIME = 0; //Время показа Splash-картинки
    //Создаем массив разделов:
    private Handler splashHandler = new Handler() 
    {
        @Override
        public void handleMessage(Message msg) 
        {
            switch (msg.what) 
            {
                case STOPSPLASH:
                    // убираем Splash картинку через изменение видимости
                    splash.setVisibility(View.GONE);
                    break;
            }
            super.handleMessage(msg);
        }
    };
    
    /** Called when the activity is first created. */
    
    
    @Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.main);
        
        //получаем индентификатор ImageView с Splash картинкой
        splash = (ImageView) findViewById(R.id.splashscreen); 
        Message msg = new Message();
        msg.what = STOPSPLASH;
        splashHandler.sendMessageDelayed(msg, SPLASHTIME);
        
        // Получим идентификатор ListView
        lv1 = (ListView)findViewById(R.id.listView);
        inputSearch = (EditText) findViewById(R.id.inputSearch);
        //устанавливаем массив в ListView
        
        lv1.setAdapter(
                new ArrayAdapter<String>(this,android.R.layout.simple_list_item_1 , lv_arr));
        lv1.setTextFilterEnabled(true);
        adapter = new ArrayAdapter<String>(this, R.layout.list_item, R.id.product_name, lv_arr);
        lv1.setAdapter(adapter);      
        //Обрабатываем щелчки на элементах ListView:
        lv1.setOnItemClickListener(new OnItemClickListener() 
        {
            public void onItemClick(AdapterView<?> a, View v, int position, long id) 
            {
                //Позиция элемента, по которому щелкнули
                position=1;
                String itemname = new Integer (position).toString();  
                
                
                Intent intent = new Intent();
                
                intent.setClass(CribActivity.this, ViewActivity.class);
                
                Bundle b = new Bundle();
                
                //defStrID содержит строку, которую отправим через itemname в другое Activity
                b.putString("defStrID", itemname);               
                
                intent.putExtras(b);
                
                //запускаем Intent
                startActivity(intent);
             }
        });
        
        inputSearch.addTextChangedListener(new TextWatcher() {
 
            @Override
            public void afterTextChanged(Editable arg0) {
 
                // TODO Auto-generated method stub
            }
 
            @Override
            public void beforeTextChanged(CharSequence arg0, int arg1, int arg2, int arg3) {
 
                // TODO Auto-generated method stub
            }
 
            @Override
            public void onTextChanged(CharSequence cs, int arg1, int arg2, int arg3) {
 
                // Когда, юзер изменяет текст он работает
                adapter.getFilter().filter(cs);                 
            }
        });
 
    }
    
    
}
2-ое активити

Javascript
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
package ru.dreammobi.english;
 
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStream;
import java.io.InputStreamReader;
import android.app.Activity;
import android.content.Context;
import android.os.Bundle;
import android.view.Window;
import android.view.WindowManager;
import android.webkit.WebView;
 
public class ViewActivity extends Activity {
 
    @Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        
        requestWindowFeature(Window.FEATURE_NO_TITLE); //скрываем заголовок
        
        setContentView(R.layout.view);
        
        
        
        //скрываем строку состояния
        getWindow().setFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN,
        WindowManager.LayoutParams.FLAG_FULLSCREEN);
        
        Bundle bundle = getIntent().getExtras();
        
        String itemname = "n" + bundle.getString("defStrID"); //получаем строку Рё формируем РёРјСЏ ресурса
        
        Context context = getBaseContext(); //получаем контекст
        
        //читаем текстовый файл РёР· ресурсов РїРѕ имени
        String text = readRawTextFile(context, getResources().getIdentifier(itemname, "raw", "ru.dreammobi.english"));
        
        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();
    }
}
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
30.06.2014, 10:04
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Поиск в listview с сохранением позиции элемента и открытия нужного html файла (Программирование Android):

Не обрабатывается клик по позиции ListView - Программирование Android
Создан листвью через симпладаптер. В основе лежит лайот с двумя текстовыми полями. Кликаю по позиции в списке, а идешка кликнутой позиции...

Восстановление позиции ListView по возвращении из другого Activity - Программирование Android
Доброго времени суток. Имеется activity с ListView, заполняемого из базы данных. При нажатии элемента идёт переход на новое активити с...

Цикл поиска позиции нужного элемента - C++
Доброго времени суток. Есть программа, которая ищет максимальный элемент среди минимальных (max) в матрице размером n X m и диапазоном от a...

Цикл поиска позиции нужного элемента - C++
Доброго времени суток. Некоторые проблемы с программой. Работает правильно - генерирует массив с заданными пользователем строками и...

Вставка элемента в заданную позицию, удаление элемента по заданной позиции, поиск заданного элемента - C++
Добавить в класс &quot;Односвязный список&quot; следующие функции: вставка элемента в заданную позицию, удаление элемента по заданной позиции, поиск...

Поиск индекса нужного элемента - C++
Доброго времени суток. Некоторые проблемы с программой. Работает правильно - генерирует массив с заданными пользователем строками и...

0
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
30.06.2014, 10:04
Привет! Вот еще темы с ответами:

RichTextBox и поиск нужного элемента - PascalABC.NET
А можно ли в RichTextBox найти значение(максимальное например) или нужно выгружать все значения в строковый массив а потом уже обрабатывать...

Поиск индекса нужного элемента - C#
Дан массив состоящий из 0 и 1. Как найти индекс единицы, которая находится ближе всего к 0(любому).Заранее спасибо. Добавлено через 27...

Поиск нужного элемента в отсортированном массиве - Java SE
Здраствуйте. Решаю задачу 2 день, неполучается. Подумал сюда обратиться. В общем задача такая. Есть отсортированый массив integer (int a),...

.NET 4.x Как организовать поиск нужного элемента в ListBox? - C#
Всем привет, у меня небольшой вопрос - как можно организовать поиск нужного элемента в listbox? допустим, есть какой-то listbox, вбиваем...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
1
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru