Все технические форумы на одном сайте Удобный поиск информации с популярных форумов в одном месте
Вопрос: Grid Recycler view скачет

При открытии экрана с ресайклер вью с грид лейаут менеджер, ресайклер вью появляется не плавно а скачками, как будто притормаживает. Почему это происходит? и как от этого избавиться? (перестать програмировать не вариант)
Ответ: Не думаю, что еще актуально, но может кому пригодится Попробуйте использовать уникальные id предметов: в конструктор адаптера добавить
Java
1
setHasStableIds(true);
а также переопределить метод
Java
1
getItemId(int position)
Важно, чтобы возвращаемый методом id был уникальным для каждого объекта данных, то есть это может быть, например, id объекта или хэш ключа.
Как-то так:
Java
1
2
3
4
@Override
    public long getItemId(int position) {
        return mItems.get(position).getName().hashCode();
    }
Вопрос: Как создать spinner внутри recycler view?

необходимо реализовать выпадающий список внутри recycler view. может, кто сталкивался с подобным или есть идеи, как это можно сделать, буду благодарен за помощь)
Ответ:
Вопрос: Как отделить группу элементов в recycler view?

например:
===================
new---
d f g h
--------//как сделать такой разделитель(как divideitemdecoration, но только для 1-го ряда)
d d d d
s s y e
e f g h
===================
буквы d s y и т.д. здесь - это элементы recycleview
Ответ: по уму надо делать так
сделать отдельную вью для этого элемента.
по простому можно в имеющемся вью внизу создать разделитель . и в онбаинд спрашивать, если позиция 0, покажи разделитель, иначе не показывать
Вопрос: Передать dialogInterface во View

В AlertDialog через setView устанавливаю форму с полями. Нужно по нажатию кнопки при правильно заполненной форме закрыть диалог, а при ошибке сообщить об ошибке, не закрывая диалог. Проблема в том, что стандартные setPositiveButton и др. кнопки закрывают диалог в любом случае, даже если у них в onClick не прописано ни cancel(), ни dismiss(). Я поставил кнопку на view, но не знаю, как передать в неё dialogInterface, чтобы закрыть диалог по её нажатии
Java
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
//View, передаваемый в диалог
final View adView = ((LayoutInflater)context.getSystemService(Context.LAYOUT_INFLATER_SERVICE)).inflate(R.layout.house_info, null);
//кнопка проверки и сохранения данных
Button btnApplyHouse = (Button) adView.findViewById(R.id.btn_house_apply);
btnApplyHouse.setOnClickListener(new View.OnClickListener() {
    @Override
    public void onClick(View view) {
      //
      //Проверка текстовых полей формы, при ошибке выводится Toast и вызывается return
      //Если всё заполнено правильно, данные сохраняются, после чего нужно закрыть диалог
      //Для закрывания диалога сюда нужно передать dialogInterface
      //
   }
});
new AlertDialog.Builder(context)
.setCancelable(true)
.setIcon(R.mipmap.house)
.setTitle("Добавить дом")
.setNegativeButton("Закрыть", new DialogInterface.OnClickListener() {
   @Override
   public void onClick(DialogInterface dialogInterface, int i) {
      dialogInterface.cancel();//Даже без этой строки кнопка закрывает диалог
   }
})
.setView(adView)
.create().show();
Ответ: Я сделал с тремя EditText, думаю остальные добавить не будет проблема.
Если мне не изменяет память, то такое решение poup window подсказал Паблито.
П.С. Для TextInputLayout нужно в gradle добавить compile 'com.android.support:design:24.2.0'

Popup Window:
Java
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
public class PopupWindow {
 
    private static AlertDialog dialog;
    private static EditText edt_name;
    private static EditText edt_price;
    private static EditText edt_paid;
    private static ICommunicator listiner;
 
 
    public static AlertDialog create(final Context context) {
        final View view = View.inflate(context, R.layout.popup_window, null);
        dialog = new AlertDialog.Builder(context).setView(view).create();
        dialog.setCancelable(false);//Если не нужно модальное поведение диалога, удалить эту строку
        listiner =(ICommunicator) context;
        edt_name=(EditText)view.findViewById(R.id.edt_name);
        edt_price=(EditText)view.findViewById(R.id.edt_price);
        edt_paid=(EditText)view.findViewById(R.id.edt_paid);
        Button btn_add_house=(Button)view.findViewById(R.id.btn_add_house);
        Button btn_dismiss=(Button)view.findViewById(R.id.btn_dismiss);
 
        btn_dismiss.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View view) {
                dialog.dismiss();
            }
        });
 
        btn_add_house.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View view) {
                String name=edt_name.getText().toString();
                String price=edt_price.getText().toString();
                String paid=edt_paid.getText().toString();
                if(TextUtils.isEmpty(name)||TextUtils.isEmpty(price)||TextUtils.isEmpty(paid)){
                    Toast.makeText(context, "Отсутствует один из параметров", Toast.LENGTH_SHORT).show();
                }
                else{
                    if(listiner !=null)
                        listiner.onResult(name,price,paid);
                    dialog.dismiss();
                }
            }
        });
        setStyle(dialog);
        return dialog;
    }
 
    private static void setStyle(AlertDialog dialog) {
        Window window = dialog.getWindow();
        WindowManager.LayoutParams wlp = window.getAttributes();
        wlp.gravity = Gravity.CENTER;
        window.setBackgroundDrawable(new ColorDrawable(android.graphics.Color.TRANSPARENT));
        window.setAttributes(wlp);
    }
 
    public interface ICommunicator {
        void onResult(String name, String price, String paid);
    }
}
Main activity:
Java
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
public class MainActivity extends AppCompatActivity implements PopupWindow.ICommunicator {
 
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        Button btn=(Button)findViewById(R.id.btn);
 
        btn.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View view) {
                PopupWindow.create(MainActivity.this).show();
            }
        });
    }
 
    @Override
    public void onResult(String name, String price, String paid) {
        Toast.makeText(MainActivity.this, "Name:"+name+"\nPrice: "+price+"\nPaid:"+paid, Toast.LENGTH_SHORT).show();
    }
}
popup_window.xml

XML
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
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:background="@drawable/rounded_popup_window"
    android:orientation="vertical">
    <TextView
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:textSize="20sp"
        android:gravity="center"
        android:text="Добавить дом"/>
 
    <android.support.design.widget.TextInputLayout
        android:id="@+id/til_name"
        android:hint="Название"
        style="@style/MyTextInputLayout">
 
        <android.support.design.widget.TextInputEditText
            android:id="@+id/edt_name"
            android:layout_width="match_parent"
            android:layout_height="wrap_content" />
    </android.support.design.widget.TextInputLayout>
 
    <android.support.design.widget.TextInputLayout
        android:id="@+id/til_price"
        android:hint="Цена"
        style="@style/MyTextInputLayout">
 
        <android.support.design.widget.TextInputEditText
            android:id="@+id/edt_price"
            android:layout_width="match_parent"
            android:layout_height="wrap_content" />
    </android.support.design.widget.TextInputLayout>
 
    <android.support.design.widget.TextInputLayout
        android:id="@+id/til_paid"
        android:hint="Оплачено"
        style="@style/MyTextInputLayout">
 
        <android.support.design.widget.TextInputEditText
            android:id="@+id/edt_paid"
            android:layout_width="match_parent"
            android:layout_height="wrap_content" />
    </android.support.design.widget.TextInputLayout>
 
    <Button
        android:id="@+id/btn_add_house"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:text="Добавить дом"/>
    <Button
        android:id="@+id/btn_dismiss"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:text="Закрыть"/>
</LinearLayout>
rounded_popup_window.xml:

XML
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
<?xml version="1.0" encoding="utf-8"?>
<shape xmlns:android="http://schemas.android.com/apk/res/android"
    android:shape="rectangle" >
    <corners
        android:bottomRightRadius="10dp"
        android:bottomLeftRadius="10dp"
        android:topLeftRadius="10dp"
        android:topRightRadius="10dp" />
    <solid android:color="@color/colorPrimary" />
    <stroke
        android:width="1dp"
        android:color="#EEEEEE"/>
    <padding
        android:bottom="1dp"
        android:left="1dp"
        android:right="1dp"
        android:top="1dp" />
</shape>
Вопрос: Public void onClick(View view)

Не работает public void onClick(View view)
Java(TM) 2 Platform Standard Edition 5.0
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
public class MainActivity extends AppCompatActivity implements View.OnClickListener {
 
    LinearLayout linearLayout;
    ArrayList<String> list;
    Button butActive;
    LayoutInflater layoutInflater;
    String editTitle = "default";
    String editBigTExt = "default";
    public static final String constSp = "spText";//constant
    public static final String constKey = "keyText";//constant
 
 
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
 
        linearLayout = (LinearLayout) findViewById(R.id.container);
        butActive = (Button) findViewById(R.id.butAdd);
        list = new ArrayList<>();
 
        layoutInflater = LayoutInflater.from(MainActivity.this);
 
        butActive.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View view) {
                Intent intent = new Intent(MainActivity.this, TwoActivity.class);
                startActivityForResult(intent, 1);
 
            }
        });
    }
 
    @Override
    protected void onActivityResult(int requestCode, int resultCode, Intent data) {
        super.onActivityResult(requestCode, resultCode, data);
        if (resultCode == RESULT_OK) {
            editTitle = data.getStringExtra("keyEditTitle");
            list.add(editTitle.toString());
            SharedPreferences sharedPreferences = getSharedPreferences(constSp, MODE_PRIVATE);
            SharedPreferences.Editor editor = sharedPreferences.edit();
 
            for (int i = 0; i < list.size(); i++) {
                if (list.size() - 1 == i) {
                    Log.d("MYTAG", list.get(i).toString());
                    String name = list.get(i);
                    View view1 = layoutInflater.inflate(R.layout.items, null);
                    TextView textView = (TextView) view1.findViewById(R.id.textName);
                    textView.setTag(i);
                    textView.setText(name);
                    linearLayout.addView(view1);
                }
            }
        } else {
            Log.d("MYTAG", "OnActRes = default value");
        }
    }
 
    @Override
    public void onClick(View view) {
        Log.d("MYTAG", "onClick");
        int index = (int) view.getTag();
        String object = list.get(index);
        Toast.makeText(this, object, Toast.LENGTH_SHORT).show();
 
    }
}
Ответ: я бы убрал код 60-66, и делал так, как в 24-31.
implements View.OnClickListener - тогда тоже можно убрать.

и тогда у Вас будет
linearLayout.setOnClickListener(new View.OnClickListener() {...
и дальше по аналогии.

...и к слову вот это
new View.OnClickListener() {...
тоже можно вынести для красоты-правильности.
Вопрос: Скрыть элемент View после ввода логина и пароля на другом активити

Доброго времени суток.
Подскажите как скрыть элемент View на другой активити после перехода на нее через логин и пароль.

пробую
Java
1
2
textView.setVisibility(View.GONE);
textView2.setVisibility(View.GONE);
выдает ошибку но переходит на активити при этом элемент View не скрывается.

Java
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
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
public class LoginDialogActivity extends Activity implements OnClickListener {
 
    
    Button btnLoginDialog, btnLoginDialog2;
    TextView textView2, textView;
    
    @Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.main);
 
        
        btnLoginDialog = (Button) findViewById(R.id.btnLoginDialog);
        btnLoginDialog.setOnClickListener(this);
        btnLoginDialog2 = (Button) findViewById(R.id.btnLoginDialog2);
        btnLoginDialog2.setOnClickListener(this);
    }
 
    @Override
    public void onClick(View v) {
        switch (v.getId()) {
            case R.id.btnLoginDialog:
        if (v == btnLoginDialog) {
 
            
            final Dialog login = new Dialog(this);
            
            login.setContentView(R.layout.login_dialog);
            login.setTitle("Login");
 
            
            Button btnLogin = (Button) login.findViewById(R.id.btnLogin);
            Button btnCancel = (Button) login.findViewById(R.id.btnCancel);
            final EditText txtUsername = (EditText)login.findViewById(R.id.txtUsername);
            final EditText txtPassword = (EditText)login.findViewById(R.id.txtPassword);
 
            
            btnLogin.setOnClickListener(new OnClickListener() {
                @Override
                public void onClick(View v) {
                    Editable loginEntered = txtPassword.getText();
                    if (!loginEntered.toString().equals("123456")) {
                        Toast.makeText(getApplicationContext(), "Неверный Логин или пароль", Toast.LENGTH_LONG).show();
                    } else {
                        Toast.makeText(getApplicationContext(), "Вы успешно вошли", Toast.LENGTH_LONG).show();
                        goTest1Activity(v);
                    }
 
                    Editable loginEntered2 = txtUsername.getText();
                    if (!loginEntered2.toString().equals("Test")) {
                        Toast.makeText(getApplicationContext(), "Неверный Логин или пароль", Toast.LENGTH_LONG).show();
                    } else {
                        Toast.makeText(getApplicationContext(), "Вы успешно вошли", Toast.LENGTH_LONG).show();
                        goTest1Activity(v);
                }
            }
        });
            btnCancel.setOnClickListener(new OnClickListener() {
                @Override
                public void onClick(View v) {
                    login.dismiss();
                    Toast.makeText(getApplicationContext(), "Отмена", Toast.LENGTH_LONG).show();
                }
            });
 
            // Make dialog box visible.
            login.show();
        }
            case R.id.btnLoginDialog2:
                if (v == btnLoginDialog2) {
 
                    
                    final Dialog login = new Dialog(this);
                    
                    login.setContentView(R.layout.login_dialog);
                    login.setTitle("Login");
 
                    
                    Button btnLogin = (Button) login.findViewById(R.id.btnLogin);
                    Button btnCancel = (Button) login.findViewById(R.id.btnCancel);
                    final EditText txtUsername = (EditText)login.findViewById(R.id.txtUsername);
                    final EditText txtPassword = (EditText)login.findViewById(R.id.txtPassword);
 
                    
                    btnLogin.setOnClickListener(new OnClickListener() {
                        @Override
                        public void onClick(View v) {
                            Editable loginEntered = txtPassword.getText();
                            if (!loginEntered.toString().equals("123")) {
                                Toast.makeText(getApplicationContext(), "Неверный Логин или пароль", Toast.LENGTH_LONG).show();
                            } else {
                                Toast.makeText(getApplicationContext(), "Вы успешно вошли", Toast.LENGTH_LONG).show();
                                goTest2Activity(v);
                            }
 
                            Editable loginEntered2 = txtUsername.getText();
                            if (!loginEntered2.toString().equals("Test2")) {
                                Toast.makeText(getApplicationContext(), "Неверный Логин или пароль", Toast.LENGTH_LONG).show();
                            } else {
                                Toast.makeText(getApplicationContext(), "Вы успешно вошли", Toast.LENGTH_LONG).show();
                                goTest2Activity(v);
                            }
                        }
 
                    });
                    btnCancel.setOnClickListener(new OnClickListener() {
                        @Override
                        public void onClick(View v) {
                            login.dismiss();
                            Toast.makeText(getApplicationContext(), "Отмена", Toast.LENGTH_LONG).show();
                        }
                    });
 
                    // Make dialog box visible.
                    login.show();
                }
    }
    }
 
 
    public void goTest1Activity(View v) {
        Intent intent = new Intent(this, Test1Activity.class);
        startActivity(intent);
        textView2.setVisibility(View.GONE);
        Toast.makeText(getApplicationContext(), "Перешел Тест1", Toast.LENGTH_LONG).show();
    }
 
    public void goTest2Activity(View v) {
        Intent intent = new Intent(this, Test2Activity.class);
        startActivity(intent);
        textView.setVisibility(View.GONE);
        Toast.makeText(getApplicationContext(), "Перешел тест2", Toast.LENGTH_LONG).show();
    }
 
 
    }
Ответ: нельзя образаться к TextView которое находится в разметке другой активити
после проверки ввода на первой активити, надо передать boolean значение во вторую активити
Java
1
2
3
4
5
    public void goTest1Activity(View v) {
        Intent intent = new Intent(this, Test1Activity.class);
        intent.putExtra("LOGIN_SUCCESS", true); // true если пользователь успешно вошел, иначе false
        startActivity(intent);
    }
во второй активити, после setContentView находишь через findViewByIdсвое TextView (которое надо спрятать)
и пишешь что-то типа
Java
1
        boolean success = getIntent().getBooleanExtra("LOGIN_SUCCESS", false);
и дальше если переменная success = false - прячешь текствью

перечитай то, что я написал много раз, а потом почитай про передачу параметров между активностями
Вопрос: Разобраться с Delete View

Разобрался с Add View
Java(TM) 2 Platform Standard Edition 5.0
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
if (resultCode == RESULT_OK) {
            editTitle = data.getStringExtra("keyEditTitle");
            arraListTitle.add(editTitle);
 
            for (int i = 0; i < arraListTitle.size(); i++) {
                if (arraListTitle.size() - 1 == i) {
                    Log.d("MYTAG", arraListTitle.get(i));
                    String name = arraListTitle.get(i);
                    View view = layoutInflater.inflate(R.layout.items, null);
                    TextView textView = (TextView) view.findViewById(R.id.textName);
                    textView.setTag(i);
                    textView.setText(name);
                    textView.setOnClickListener(this);
                    linearLayout.addView(view);
                    saveSharedPreferences();
                }
            }
        }
Помогите с удаление
Ответ: Не удаляет
Java(TM) 2 Platform Standard Edition 5.0
1
2
3
4
5
6
7
8
9
butDeleteView.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View view) {
 
                View viewDelete = layoutInflater.inflate(R.layout.items, null);
                linearLayout.removeView(viewDelete);
 
                }
        });
Вопрос: Как создавать custom view компоненты с функционалом и присваивать им id?

Доброго времени суток) В моём приложении присутствует кнопка, для которой я хочу реализовать следующие действия:
1) Создать "блок", где будут 3 view компонента и выплывающие меню с checkbox'ами;
2) Каждому view компоненту присвоить свой индивидуальный id;
3) Блок можно будет удалить при помощи swipe вправо иль влево;
4) В каждом блоке будет view компонент, при клике на который будет срабатывать метод, которому нужны значения из view компонентов в "его" блоке.
Не могу найти нужные мне статьи уроки по данному вопросу, по этому я здесь)
Я так понимаю, что мне нужно создать xml для одного блока. Затем назначить на кнопку добавления этот "блока" в ListView(?), проинициализировать все компоненты в блоке, присвоить им id и задать на кнопку в блоке метод.
Однако столкнулся с проблемой: блок-то я создал в отдельном xml, но как добавить этот блок в главный_активити.xml ???
как проинициализировать и дать каждому компоненту id??
Помогите решить поставленные задачи)))
P.S.
Просто добавлять view компоненты у меня получилось, но присвоить им id и дать функционал - не-а))
На словах всё проговорил... сценарий, собственно, есть))
Ещё же нужно сохранять значения, которые будут выставлены в блоке. Подойдёт ли для этого SharedPreferences? Справится ли он для создания строк при создании очередного блока? Иль SQLite???
Ответ: 1)Можно создавать новый layout. Потом создать нужные view и присвоить их этому layout.
XML создавать для самого блока необязательно. В вертикальном layout элементы будут располагаться друг под другом.
Об этом можно почитать здесь:


О создании диалогового окна с CheckBox'ами есть тут:


2)В процессе создания view можно указать id методом setId. Для других параметров view также имеет свои методы. Информация о них есть в документации:


3)Я пробовал реализовывать swipe этим классом:

Если честно, мне не очень понравилось, я не совсем понял как повесить его на весь layout. Буду рад, если кто предложит альтернативные решения.

SharedPreferences и, тем более, SQLite нужно использовать, если информация должна быть сохранена после закрытия приложения. В противном случае можно создать какой-нибудь двумерный ArrayList<ArrayList<String>> или ArrayList<HashMap<String, String>>, состоящий из ассоциированных массивов. Если нужно использовать в разных классах, то public static.

Я попробовал написать нечто похожее на Ваше описание. Я решил создать отдельный класс для блоков (просто интересно было). Но можно записывать все view в несколько ArrayList'ов. Так, возможно, меньше мороки. Архив на проект прилагаю.
Вопрос: Обработка нажатия каждого элемента List View

Доброго времени суток!
Нужна помощь в реализации нажатия на элемент лист вью. Необходимо присвоить каждому в списке элементу переход на разные активити.
Я попробовал реализовать следующим способом, но при осуществления поиска по элементам, первый найденный элемент тоже переходит на ту активити, которая задана для первого элемента массива, как это исправить?
Код Java(TM) 2 Platform Standard Edition 5.0
1
2
3
4
5
6
7
8
9
10
11
12
 lv.setOnItemClickListener(new OnItemClickListener() {
     
        public void onItemClick(AdapterView<?> arg0,
                            View arg1, int position, long arg3)
       {
            switch (position) {
            case 0:
                Intent intent = new Intent(getActivity(), bbns.class);
                startActivity(intent);
        }        }   });
    
    }
Ответ:
Сообщение от Digetix
А чего

вместо
Код Java(TM) 2 Platform Standard Edition 5.0
1
2
3
4
5
6
7
8
9
10
11
public class FragmentView1 extends Fragment {   
    
    @Override
    public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) {     
        
        View myView = inflater.inflate(R.layout.about, container, false);
        
      
        return myView;
    }
}
?
Код Java(TM) 2 Platform Standard Edition 5.0
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
public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState, int position) {   
            super.onCreate(savedInstanceState);
 
            final String[] listview_names = {"Белорусский бизнес на селе","Общество с ограниченной ответственностью","Учредители ООО","Уставный фонд ООО",
                    "Частное унитарное предприятие","Юридический адрес частного УП","Учредитель частного УП",
                    "Учредительные документы ООО","Наименование частного УП","Уставный фонд частного УП","Юридический адрес ООО","Порядок регистрации частного УП",
                    "Порядок регистрации ООО (ОДО)","Регистрация ИП в Беларуси","Согласование наименования","Госпошлина за регистрацию ИП","Советы по выбору наименования организации",
                    "Порядок регистрации ИП","Общество с дополнительной ответственностью","Получение паспорта","Замена паспорта по сроку действия","Замена паспорта при утере",
                    "Ликвидация форм собственности","Регистрация форм собственности"};
            
            
            View myView = inflater.inflate(R.layout.search, container, false);
 
            et  = (EditText)myView.findViewById(R.id.EditText01);
           // lv  =   (ListView)myView.findViewById(android.R.id.list);
 
         //   
            array_sort=new ArrayList<String> (Arrays.asList(listview_names));
            setListAdapter(new bsAdapter(getActivity()));
 
            et.addTextChangedListener(new TextWatcher()
            {
                public void afterTextChanged(Editable s)
                {
                      // Abstract Method of TextWatcher Interface.
                }
                public void beforeTextChanged(CharSequence s,
                        int start, int count, int after)
                {
                    // Abstract Method of TextWatcher Interface.
                }  
                public void onTextChanged(CharSequence s,
                        int start, int before, int count)
                {
                    
 //             
                    textlength = et.getText().length();
                    array_sort.clear();
                    for (int i = 0; i < listview_names.length; i++)
                    {
                        if (textlength <= listview_names[i].length())
                        {
 
                            if(listview_names[i].toLowerCase().contains(
                                    et.getText().toString().toLowerCase().trim()))
                            {
                                array_sort.add(listview_names[i]);
                            }
                          }
                    }
                    AppendList(array_sort);
                    }
                }); 
 
            return myView;
        }
Вопрос: Поставить View поверх другой и отключить touch

Здравствуйте. Хочу реализовать следующее. Есть список на каждом итеме есть кнопки. Нажимаю на кнопку и поверх списка появляется View с загрузкой. Нужно чтобы пока эта вьюха будет висеть поверх списка экран не реагировал на нажатия и скролы. Делал addView. Но список скролится. Не делаю ProgressDialog так как список находится в Pager а если делать Progress диалог то он вообще блокирует всю активность. View.VISIBLE и View.INVISIBLE тоже не подходят так как тогда список пропадает а я хочу чтобы его было видно.
Ответ: "поверх списка появляется View с загрузкой"
если это сделано как Layer, то его можно обьявить clickable="true". и тогда если он накрывает весь экран, то он не будет пропускать эвент дальше.