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

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

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

Новую строку, сформированную из текста в поле inputText и сдвига inputShift вывести в editResult - Программирование Android

19.06.2014, 03:17. Просмотров 957. Ответов 4
Метки нет (Все метки)

Всем привет, начал делать приложение и столкнулся с проблемой краша. Это первое приложение, прошу помочь разобраться.
Смысл в том что бы новая строка сформированная из текста в поле inputText и сдвига inputShift вывелась в editResult

main.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
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:tools="http://schemas.android.com/tools"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:paddingLeft="@dimen/activity_horizontal_margin"
    android:paddingRight="@dimen/activity_horizontal_margin"
    android:paddingTop="@dimen/activity_vertical_margin"
    android:paddingBottom="@dimen/activity_vertical_margin"
    tools:context="encryption.encrypt.enc.MainActivity">
 
    <Button
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="show result"
        android:id="@+id/showResultButton"
        android:layout_alignParentBottom="true"
        android:layout_centerHorizontal="true"
        android:layout_marginBottom="43dp" />
 
    <EditText
        android:layout_width="fill_parent"
        android:layout_height="wrap_content"
        android:id="@+id/inputText"
        android:layout_alignParentTop="true"
        android:layout_marginTop="58dp"
        android:layout_alignParentRight="true"
        android:layout_alignParentEnd="true"
        android:inputType="text" />
 
    <EditText
        android:layout_width="fill_parent"
        android:layout_height="wrap_content"
        android:id="@+id/editResult"
        android:layout_below="@+id/inputShift"
        android:layout_marginTop="65dp"
        android:layout_alignParentLeft="true"
        android:layout_alignParentStart="true"
        android:layout_alignParentRight="true"
        android:layout_alignParentEnd="true" />
 
    <EditText
        android:layout_width="fill_parent"
        android:layout_height="wrap_content"
        android:id="@+id/inputShift"
        android:layout_marginTop="52dp"
        android:layout_below="@+id/inputText"
        android:layout_alignParentLeft="true"
        android:layout_alignParentStart="true"
        android:inputType="numberDecimal" />
 
 
</RelativeLayout>
код 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
import android.app.Activity;
import android.content.DialogInterface;
import android.os.Bundle;
import android.text.TextUtils;
import android.view.Menu;
import android.view.MenuItem;
import android.view.View;
import android.widget.Button;
import android.widget.EditText;
 
 
public abstract class MainActivity extends Activity implements View.OnClickListener {
 
    static String alphabet = "abcdefghijklmnopqrstuvwxyz";
 
    EditText inputText;
    EditText inputShift;
    EditText editResult;
 
    Button showResultButton;
 
 
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.main);
 
        inputText = (EditText) findViewById(R.id.inputText);
        inputShift = (EditText) findViewById(R.id.inputShift);
        editResult = (EditText) findViewById(R.id.editResult);
        showResultButton = (Button) findViewById(R.id.showResultButton);
 
        showResultButton.setOnClickListener(this);
 
 
    }
 
    public void onClick(View v) {
 
        String str = String.valueOf(inputText);
 
        char[] newstr = new char[str.length()];
        for (int i = 0; i < str.length(); i++) {
            newstr[i] = str.charAt(i);
        }
 
        int k = Integer.parseInt(String.valueOf(inputShift));
        int a = 26;
 
 
        for (int i = 0; i < str.length(); i++) {
            if (newstr[i] != ' ') {
                k = alphabet.indexOf(str.charAt(i));
 
                if (k > (alphabet.length() - a)) {
                    k = k - alphabet.length();
                }
 
                newstr[i] = alphabet.charAt(k + a);
 
            }
            String n = new String(newstr);
            n = String.valueOf(editResult);
 
 
        }
    }
}
лог краша
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
06-18 19:02:29.350      981-981/encryption.encrypt.enc E/AndroidRuntime﹕ FATAL EXCEPTION: main
    Process: encryption.encrypt.enc, PID: 981
    java.lang.RuntimeException: Unable to instantiate activity ComponentInfo{encryption.encrypt.enc/encryption.encrypt.enc.MainActivity}: java.lang.InstantiationException: can't instantiate class encryption.encrypt.enc.MainActivity
            at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2121)
            at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2245)
            at android.app.ActivityThread.access$800(ActivityThread.java:135)
            at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1196)
            at android.os.Handler.dispatchMessage(Handler.java:102)
            at android.os.Looper.loop(Looper.java:136)
            at android.app.ActivityThread.main(ActivityThread.java:5017)
            at java.lang.reflect.Method.invokeNative(Native Method)
            at java.lang.reflect.Method.invoke(Method.java:515)
            at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:779)
            at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:595)
            at dalvik.system.NativeStart.main(Native Method)
     Caused by: java.lang.InstantiationException: can't instantiate class encryption.encrypt.enc.MainActivity
            at java.lang.Class.newInstanceImpl(Native Method)
            at java.lang.Class.newInstance(Class.java:1208)
            at android.app.Instrumentation.newActivity(Instrumentation.java:1061)
            at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2112)
************at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2245)
************at android.app.ActivityThread.access$800(ActivityThread.java:135)
************at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1196)
************at android.os.Handler.dispatchMessage(Handler.java:102)
************at android.os.Looper.loop(Looper.java:136)
************at android.app.ActivityThread.main(ActivityThread.java:5017)
************at java.lang.reflect.Method.invokeNative(Native Method)
************at java.lang.reflect.Method.invoke(Method.java:515)
************at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:779)
************at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:595)
************at dalvik.system.NativeStart.main(Native Method)
06-18 19:02:33.110      981-981/encryption.encrypt.enc I/Process﹕ Sending signal. PID: 981 SIG: 9
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
19.06.2014, 03:17
Я подобрал для вас темы с готовыми решениями и ответами на вопрос Новую строку, сформированную из текста в поле inputText и сдвига inputShift вывести в editResult (Программирование Android):

1C 8.x Проверить на новую строку в табличном поле - 1С
Подскажите как проверить на нового пользователя. Есть документ, в нем табличное поле ТП, если я добавляю нового пользователя в ТП и...

Разбить поле и создать новую строку по условию - MS Access
ДОброго всем времени суток! Хочу реализовать следующее: 1. имеем таблицу с полями Field1, Field2, Field3 2. в Field3 может...

Вводят строку. Найти в ней все слова с буквой "Z" и переместить их в другую строку. Вывести новую строку - Assembler
Недавно начал изучать этот язык. Было все не плохо, но тут учитель решил поставить меня в тупит такой задачей... Вводят строку. Найти в...

Переход на новую строку текста - HTML, CSS
Проблема наверное очень проста в решении, поэтому прошу ответа. &lt;div style=&quot; display:block; width:100%;&quot;&gt; ...

Перенос текста на новую строку - HTML, CSS
Доброго всем времени суток. Есть форма в последнее поле которой необходимо ввести достаточно большой текст, как сделать так что бы этот...

Перебрасывание текста на новую строку - HTML, CSS
Здравствуйте. Вопрос как сделать так чтобы третий текст перебрасывался на новую строку как указано на картинке .block { ...

4
Pablito
2614 / 2097 / 651
Регистрация: 12.05.2014
Сообщений: 7,347
Завершенные тесты: 1
19.06.2014, 10:23 #2
public abstract class MainActivity extends Activity implements View.OnClickListener

что здесь делает слово abstract ???
1
Andrew9
0 / 0 / 0
Регистрация: 28.04.2013
Сообщений: 95
19.06.2014, 11:20  [ТС] #3
Спасибо, по началу студии не нравилась добавка implements и единственным предложением это исправить - была добавка - abstract.

Что по коду не так в 47, 62,63 строках ? Они выделяются серым (нигде не используются) а должны быть завязаны на editText поля.
0
Pablito
2614 / 2097 / 651
Регистрация: 12.05.2014
Сообщений: 7,347
Завершенные тесты: 1
19.06.2014, 11:56 #4
вот в таком виде onClick не выдает ошибки, но я не вникал в работу алгоритма, там. в конце точно бред написан надо переделать
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
    @Override
    public void onClick(View v) {
 
        String str = inputText.getText().toString();
 
        char[] newstr = new char[str.length()];
        for (int i = 0; i < str.length(); i++) {
            newstr[i] = str.charAt(i);
        }
 
        int k = Integer.parseInt(inputShift.getText().toString());
        int a = 26;
        for (int i = 0; i < str.length(); i++) {
            if (newstr[i] != ' ') {
                k = alphabet.indexOf(str.charAt(i));
 
                if (k > (alphabet.length() - a)) {
                    k = k - alphabet.length();
                }
 
                newstr[i] = alphabet.charAt(k + a);
 
            }
            String n = new String(newstr);
            n = String.valueOf(editResult);
 
        }
    }
0
Andrew9
0 / 0 / 0
Регистрация: 28.04.2013
Сообщений: 95
19.06.2014, 12:42  [ТС] #5
С начала делалось в еклипсе, там все работает а в студии при привязке к кнопкам возникла проблема.
Алгоритм там "шифр цезаря", сдвиг слова на заданную величину.
0
19.06.2014, 12:42
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
19.06.2014, 12:42
Привет! Вот еще темы с ответами:

Перенос текста на новую строку - PHP
Здравствуйте. Сейчас пытаюсь наложить текст на изображение, но есть один нюанс. Текст налаживается, все замечательно, но выходит за...

Поле с текстом в свободнй форме, переход через enter на новую строку - MS Access
Добрый день. Необходимо поле типа &quot;Замечания&quot;, куда в свободной форме может вводиться все, что угодно в любом виде, чтобы в нем можно...

Перенос текста на новую строку в RichEdit - Delphi
Доброго дня всем! Работаю в XE2, в процессе выполнения программы формируется некий текст, и записывается в одну переменную. И потом...

ListView перенос текста на новую строку - C#
Добрый день. Как заставь ListView (List) переносить текс на друю строчку, а не писать все в одну как на скриншоте. Не могу найти...


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

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

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