Форум программистов, компьютерный форум CyberForum.ru

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

Войти
Регистрация
Восстановить пароль
 
mikl35
4 / 4 / 0
Регистрация: 30.05.2014
Сообщений: 128
#1

Не открывается новое окно у которого класс наследуется не от Activity - Программирование Android

30.05.2014, 21:00. Просмотров 574. Ответов 2
Метки нет (Все метки)

Помогите, у меня две активности, одна базовая наследуется от Activity и другая активность его класс наследуется от ListActivity. При открытии из главной активности другую активность через Intent выдает ошибку, а если второй класс наследует Activity а не ListActivity, то все открывается.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
30.05.2014, 21:00     Не открывается новое окно у которого класс наследуется не от Activity
Посмотрите здесь:

Запуск активности из класса, который не наследуется от Activity - Программирование Android
Есть класс, который отвечает за обработку логики. Есть функция, которая при определенном условии должна открыть новую форму(Активити)....

Новое Activity или ViewGroup - Программирование Android
Здравствуйте. НЕ подскажите, как нужно правильно реализовать вот такой UI: Тут верхний ряд кнопок(он не меняется во всем приложении), а...

Ошибка при переходе на новое Activity - Программирование Android
Здравствуйте, уважаемые программисты! Не могли бы вы мне помочь? При переходе на новое активити программа выдает ошибку и вылетает. Я...

Вытащить информацию из SQLite на новое Activity - Программирование Android
Здравствуйте! У меня есть 3 класса: В DB создаю базу данных, записи добавляются прямо из приложения. В MainActivity по данным из...

Вызвать из ListView новое Activity (где задействован SimpleAdapter) - Программирование Android
Привет Всем! Я купил себе android... и вдруг возникли мысли ...почему бы не сделать приложения.... и не изучить вообщем язык...

При нажатии на элемент ListView вывести новое Activity с информацией об этом элементе - Программирование Android
Здравствуйте! Помогите пожалуйста! В общем есть список ListView с названиями кафе и ресторанов, надо сделать так чтобы при нажатии на...

Как наследовать класс activity - Программирование Android
Написал класс activity1 в котором программно создан layout1. Как использовать мой класс в новом создаваемом приложении? какой нужен...

Обработка FloatingActionButton в классе не наследующим класс Activity - Программирование Android
Доброго времени суток. Пишу проект и столкнулся с такой проблемой. В своём приложении использую Tabs в ToolBar для удобного просмотра меню....

Передача значения переменной Activity в другой класс - Программирование Android
Есть активность: public class Menu extends Activity { OnClickListener lt; EditText Day, Month, Year, BirthDay, BirthMonth,...

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


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

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Vladimirys
303 / 200 / 22
Регистрация: 16.01.2010
Сообщений: 567
30.05.2014, 23:07     Не открывается новое окно у которого класс наследуется не от Activity #2
После прочтения, возникает вопрос - Кто на ком стоял? Вы вот сами прочитайте, то что написали. Обе активности, в манифесте зарегистрированы?
mikl35
4 / 4 / 0
Регистрация: 30.05.2014
Сообщений: 128
03.06.2014, 22:29  [ТС]     Не открывается новое окно у которого класс наследуется не от Activity #3
Все активности зарегестрированы, но ошибка при открытии

Добавлено через 7 минут
Вот файл манифест:
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
<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
    package="com.example.sms"
    android:versionCode="1"
    android:versionName="1.0" >
 
    <uses-sdk
        android:minSdkVersion="8"
        android:targetSdkVersion="19" />
 
    <application
        android:allowBackup="true"
        android:icon="@drawable/ic_launcher"
        android:label="@string/app_name"
        android:theme="@style/AppTheme" >
        <activity
            android:name="com.example.sms.MainActivity"
            android:label="@string/app_name" >
            <intent-filter>
                <action android:name="android.intent.action.MAIN" />
 
                <category android:name="android.intent.category.LAUNCHER" />
            </intent-filter>
        </activity>
        <activity android:name="com.example.sms.arhiv"
            android:label="@string/n3">
        </activity>
    </application>
 
</manifest>
Первая главная активность MainActivity:
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
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
package com.example.sms;
 
import java.util.ArrayList;
 
import android.support.v7.app.ActionBarActivity;
import android.support.v7.app.ActionBar;
import android.support.v4.app.Fragment;
import android.annotation.SuppressLint;
import android.app.Activity;
import android.app.AlertDialog;
import android.app.ListActivity;
import android.os.Bundle;
import android.view.KeyEvent;
import android.view.LayoutInflater;
import android.view.Menu;
import android.view.MenuItem;
import android.view.View;
import android.view.ViewGroup;
import android.view.WindowManager;
import android.widget.ArrayAdapter;
import android.widget.EditText;
import android.widget.ListView;
import android.os.Build;
import android.view.View.OnKeyListener;
import android.view.inputmethod.InputMethodManager;
import android.content.ContentValues;
import android.content.Context;
import android.content.DialogInterface;
import android.content.Intent;
import android.database.Cursor;
import android.database.sqlite.SQLiteDatabase;
 
public class MainActivity extends Activity {
    EditText editText;
    ListView listView;
    ArrayList<String> grups;
    ArrayAdapter<String> adapter;
    AlertDialog.Builder message;
    sms sqh;
    SQLiteDatabase sqdb;
    ContentValues cv;
 
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        message = new AlertDialog.Builder(MainActivity.this);
        listView = (ListView) findViewById(R.id.listView1);
        cv=new ContentValues();
        editText = (EditText) findViewById(R.id.editText1);
       //Создаём пустой массив для хранения имен групп
        grups = new ArrayList<String>();
        //Создаём адаптер ArrayAdapter, чтобы привязать массив к ListView
        adapter = new ArrayAdapter<String>(this,android.R.layout.simple_list_item_multiple_choice, grups);
        //Привяжем массив через адаптер к ListView
        listView.setAdapter(adapter);
        // Инициализируем наш класс-обёртку
        sqh = new sms(this);
        //База нам нужна для записи и чтения
        sqdb = sqh.getWritableDatabase();
        read_grups();
      //прячем клавиатуру. butCalculate - это кнопка
        getWindow().setSoftInputMode(WindowManager.LayoutParams.SOFT_INPUT_STATE_ALWAYS_HIDDEN);
        // Прослушиваем нажатия клавиш
        editText.setOnKeyListener(new OnKeyListener() {
            public boolean onKey(View v, int keyCode, KeyEvent event) {
                // TODO Auto-generated method stub
                if (event.getAction() == KeyEvent.ACTION_DOWN)
                    if (keyCode == KeyEvent.KEYCODE_ENTER) {
                        if(editText.length()==0)return true;
                        if(grups.size()!=0){
                            String gr1, gr2;
                            gr2=editText.getText().toString();
                            gr2=gr2.toLowerCase();
                            for(int i=0;i<grups.size();i++){
                                gr1=grups.get(i).toString();
                                gr1=gr1.toLowerCase();
                                if(gr1.equalsIgnoreCase(gr2)){
                                    message.setTitle(R.string.message2)
                                    .setMessage(R.string.message1)
                                    .setCancelable(false)
                                    .setNegativeButton("ОК",
                                            new DialogInterface.OnClickListener() {
                                                public void onClick(DialogInterface dialog, int id) {
                                                    dialog.cancel();
                                                }
                                            });
                                    AlertDialog alert = message.create();
                                    alert.show();
                                    editText.setText("");
                                    return true;
                                }
                            }
                        }
                        grups.add(0, editText.getText().toString());
                        adapter.notifyDataSetChanged();
                        ContentValues cv=new ContentValues();
                        cv.put(sms.NAME1, editText.getText().toString());
                        sqdb.insert(sms.TABLE_NAME1, sms.NAME1, cv);
                        editText.setText("");
                        //прячем клавиатуру. butCalculate - это кнопка
                        InputMethodManager imm = (InputMethodManager) getSystemService(Context.INPUT_METHOD_SERVICE);
                        imm.hideSoftInputFromWindow(editText.getWindowToken(),
                                InputMethodManager.HIDE_NOT_ALWAYS);
                        return true;
                    }
                return false;
            }
        });
    }
    
    public void read_grups(){
        Cursor cursor = sqdb.query(sms.TABLE_NAME1, new String[] {
                sms.NAME1 }, 
                null, // The columns for the WHERE clause
                null, // The values for the WHERE clause
                null, // don't group the rows
                null, // don't filter by row groups
                null // The sort order
                );
        while (cursor.moveToNext()) {
            String name = cursor.getString(cursor
                    .getColumnIndex(sms.NAME1));
            grups.add(0, name);
            
        }
        cursor.close();
    }
 
 
    @Override
    public boolean onCreateOptionsMenu(Menu menu) {
        
        // Inflate the menu; this adds items to the action bar if it is present.
        getMenuInflater().inflate(R.menu.main, menu);
        return true;
    }
 
    @Override
    public boolean onOptionsItemSelected(MenuItem item) {
        // Handle action bar item clicks here. The action bar will
        // automatically handle clicks on the Home/Up button, so long
        // as you specify a parent activity in AndroidManifest.xml.
        int id = item.getItemId();
        if (id == R.id.action_settings) {
            return true;
        }
        return super.onOptionsItemSelected(item);
    }
 
    /**
     * A placeholder fragment containing a simple view.
     */
    public static class PlaceholderFragment extends Fragment {
 
        public PlaceholderFragment() {
        }
 
        @Override
        public View onCreateView(LayoutInflater inflater, ViewGroup container,
                Bundle savedInstanceState) {
            View rootView = inflater.inflate(R.layout.activity_main, container, false);
            return rootView;
        }
    }
    
    public void onClickB1(View v)
    {
        Intent intent = new Intent(MainActivity.this, arhiv.class);
        startActivity(intent);
    }
 
}
И вторая активность arhiv:
Java
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
package com.example.sms;
import android.app.Activity;
import android.app.ListActivity;
import android.content.Context;
import android.os.Bundle;
import android.widget.ArrayAdapter;
import android.widget.LinearLayout;
import android.widget.ListAdapter;
import android.widget.ListView;
 
public class arhiv extends ListActivity{
    final String[] smiles = new String[] { "Радость", "Грустный", "Подмигивает",
            "Показывает язык", "Удивлен", "Поцелуй", "Кричит", "Крутой", "Не болтай",
            "В замешательстве", "Смущение", "Ангел", "Нерешительный", "Плачет", "Не скажу", "Смех", "Озадаченный" };
    @Override
    protected void onCreate(Bundle savedInstanceState) 
    {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.arhiv);
        setListAdapter(new ArrayAdapter<String>(this, R.layout.arhiv,
                R.id.textView4, smiles));
    }
}
Yandex
Объявления
03.06.2014, 22:29     Не открывается новое окно у которого класс наследуется не от Activity
Ответ Создать тему
Опции темы

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