2015-12-25 3 views
1

Мой вопрос отличается от других вопросов, заданных ранее на этом сайте в той же теме. Ответ на вопрос о том, как мы можем сохранить текст из поля EditText в строку было дано какСохранение значения EditText для строковой переменной не работает

EditText input = (EditText) findViewById(R.id.inputId); 
String str = input.getText().toString(); 

мой вопрос немного по-другому.

моя ява Основная деятельность:

package com.example.fahadsaleem.xyz; 

import android.support.v7.app.AppCompatActivity; 
import android.os.Bundle; 
import android.view.View; 
import android.widget.Button; 
import android.widget.EditText; 
import android.widget.TextView; 

import org.w3c.dom.Text; 


public class MainActivity extends AppCompatActivity { 
    public String str; 




    @Override 
    protected void onCreate(Bundle savedInstanceState) { 
     super.onCreate(savedInstanceState); 
     setContentView(R.layout.activity_main); 



     TextView calc_monday = (TextView) findViewById(R.id.monday_calc); 


     calc_monday.setOnClickListener(
       new Button.OnClickListener(){ 
        public void onClick(View v){ 

         CustomDialogClass cdd = new CustomDialogClass(MainActivity.this); 
         cdd.show(); 
         TextView text1 = (TextView) cdd.findViewById(R.id.Subject_ID); 
         text1.setText(str); 
         TextView text2 = (TextView) cdd.findViewById(R.id.Room_ID); 
         text2.setText("6 (SEECS)"); 
         TextView text3 = (TextView) cdd.findViewById(R.id.Time_ID); 
         text3.setText("09:00am 09:50am"); 
        } 
       } 
     ); 

     calc_monday.setOnLongClickListener(
       new Button.OnLongClickListener() { 
        public boolean onLongClick(View v) { 
         kj monday_calc = new kj(MainActivity.this); 
         monday_calc.show(); 

         return true; 
        } 
       } 


     ); 
} 
} 

Къ класс имеет следующий код:

package com.example.fahadsaleem.xyz; 

import android.app.Activity; 
import android.app.Dialog; 
import android.os.Bundle; 
import android.view.View; 
import android.view.Window; 
import android.widget.Button; 
import android.widget.EditText; 
import android.widget.TextView; 

/** 
* Created by Fahad Saleem on 12/22/2015. 
*/ 
public class kj extends Dialog implements android.view.View.OnClickListener { 

    public Activity c; 
    public Dialog d; 
    public Button back; 

    public kj(Activity a) { 
     super(a); 
     // TODO Auto-generated constructor stub 
     this.c = a; 
    } 

    @Override 
    protected void onCreate(Bundle savedInstanceState) { 
     super.onCreate(savedInstanceState); 
     requestWindowFeature(Window.FEATURE_NO_TITLE); 
     setContentView(R.layout.setting_dialog); 

     back = (Button) findViewById(R.id.set_btnn); 


     back.setOnClickListener(this); 






    } 

    @Override 
    public void onClick(View v){ 
     switch (v.getId()){ 
      case R.id.set_btnn: 
       MainActivity police = new MainActivity(); 
       EditText set_monday_calc = (EditText) findViewById(R.id.set_Subject_ID); 

       // Store EditText in Variable 

       police.str = set_monday_calc.getText().toString(); 
       dismiss(); 

       break; 
      default: 
       break; 

     } 
     dismiss(); 

    } 
} 

В основном интерфейс для приложения имеет временную таблицу предметов. Когда вы нажимаете на имя объекта, появляется диалоговое окно, показывающее 3 вещи: имя субъекта, номер комнаты и период времени.

Теперь я хочу, чтобы я мог изменить 3 вещи, сделав длинный щелчок по названию темы. Я пытаюсь использовать эту кнопку в классе ого, чтобы добиться того, что:

  case R.id.set_btnn: 
       MainActivity police = new MainActivity(); 
       EditText set_monday_calc = (EditText) findViewById(R.id.set_Subject_ID); 

       // Store EditText in Variable 



       police.str = set_monday_calc.getText().toString(); 
       dismiss(); 

str этих переменной объявлена ​​в файле Java MainActivity. Когда пользователь вводит текст по имени субъекта и нажимает на эту кнопку, текст должен храниться в переменной str.

Но этого не происходит. Когда я начинаю писать текст на поле EditText на мой интерфейс, который выглядит следующим образом:

enter image description here

Следующая ошибка рассматривается в журнале:

enter image description here

тогда, когда я нажимаю Go Назад, которая должна установить текст, который я написал переменной str, в журнале отображается следующая ошибка:

enter image description here

Позже, когда я одного нажатия на эту тему, что я написал, прежде чем я нажал на кнопке не показал, а пустое пространство показывается как было объявлено этой линии в mainactivity Java файл:

public String str; 

Как это:

enter image description here

в чем проблема? Вот остальные файлы:

CustomDialogClass:

package com.example.fahadsaleem.xyz; 

import android.app.Activity; 
import android.app.Dialog; 
import android.os.Bundle; 
import android.view.View; 
import android.view.Window; 
import android.widget.Button; 
import android.widget.TextView; 

/** 
* Created by Fahad Saleem on 12/22/2015. 
*/ 
public class CustomDialogClass extends Dialog implements android.view.View.OnClickListener { 

    public Activity c; 
    public Dialog d; 
    public Button back; 

    public CustomDialogClass(Activity a) { 
     super(a); 
     // TODO Auto-generated constructor stub 
     this.c = a; 
    } 

    @Override 
    protected void onCreate(Bundle savedInstanceState) { 
     super.onCreate(savedInstanceState); 
     requestWindowFeature(Window.FEATURE_NO_TITLE); 
     setContentView(R.layout.custom_dialog); 

     back = (Button) findViewById(R.id.btnn); 


     back.setOnClickListener(this); 






    } 

    @Override 
    public void onClick(View v){ 
     switch (v.getId()){ 
      case R.id.btnn: 
       dismiss(); 
       break; 
      default: 
       break; 

     } 
     dismiss(); 
    } 
    } 

activity_main.xml:

<?xml version="1.0" encoding="utf-8"?> 
<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="com.example.fahadsaleem.xyz.MainActivity"> 



<GridLayout 
    android:layout_width="wrap_content" 
    android:layout_height="wrap_content" 
    android:layout_alignParentTop="true" 
    android:layout_alignParentLeft="true" 
    android:layout_alignParentStart="true" 
    android:id="@+id/gridLayout"> 

    <TextView 
     android:layout_width="80dp" 
     android:layout_height="27dp" 
     android:text="Thursday" 
     android:id="@+id/textView5" 
     android:layout_row="0" 
     android:layout_column="5" 
     android:layout_gravity="center|fill" 
     android:gravity="center" /> 

    <TextView 
     android:layout_width="120dp" 
     android:layout_height="27dp" 
     android:text="Time" 
     android:id="@+id/textView" 
     android:layout_row="0" 
     android:layout_column="0" 
     android:textAlignment="center" 
     android:layout_gravity="center|fill" 
     android:gravity="center" /> 

    <TextView 
     android:layout_width="80dp" 
     android:layout_height="27dp" 
     android:text="Friday" 
     android:id="@+id/textView6" 
     android:layout_row="0" 
     android:layout_column="6" 
     android:layout_gravity="center" 
     android:gravity="center" /> 

    <TextView 
     android:layout_width="120dp" 
     android:layout_height="27dp" 
     android:text="900-950" 
     android:id="@+id/textView7" 
     android:layout_row="1" 
     android:layout_column="0" 
     android:textAlignment="center" 
     android:layout_gravity="center|fill" 
     android:gravity="center" 
     android:background="#daf8a6" /> 

    <TextView 
     android:layout_width="80dp" 
     android:layout_height="27dp" 
     android:text="Monday" 
     android:id="@+id/textView2" 
     android:layout_row="0" 
     android:layout_column="1" 

     android:textAlignment="center" 
     android:layout_gravity="center|fill" 
     android:gravity="center" /> 

    <TextView 
     android:layout_width="80dp" 
     android:layout_height="27dp" 
     android:text="Tuesday" 
     android:id="@+id/textView3" 
     android:layout_row="0" 
     android:layout_column="2" 
     android:gravity="center" 
     android:layout_gravity="center" /> 

    <TextView 
     android:layout_width="100dp" 
     android:layout_height="27dp" 
     android:text="Wednesday" 
     android:id="@+id/textView4" 
     android:layout_row="0" 
     android:layout_column="3" 
     android:layout_gravity="center|fill" 
     android:gravity="center"/> 

    <TextView 
     android:layout_width="80dp" 
     android:layout_height="27dp" 
     android:text="Calculus" 
     android:id="@+id/monday_calc" 
     android:layout_row="1" 
     android:layout_column="1" 
     android:textAlignment="center" 
     android:layout_gravity="center|fill" 
     android:gravity="center" 
     android:clickable="true" 
     android:background="#dbfbb8" /> 

    <TextView 
     android:layout_width="80dp" 
     android:layout_height="50dp" 
     android:text="Programming" 
     android:id="@+id/Tuesday_Prog" 
     android:layout_row="1" 
     android:layout_column="2" 
     android:layout_rowSpan="2" 
     android:layout_gravity="center|fill" 
     android:gravity="center" 
     android:textSize="13dp" /> 

    <TextView 
     android:layout_width="100dp" 
     android:layout_height="27dp" 
     android:text="Library" 
     android:id="@+id/textView25" 
     android:layout_row="1" 
     android:layout_column="3" 
     android:layout_gravity="center|fill" 
     android:gravity="center" /> 

    <TextView 
     android:layout_width="wrap_content" 
     android:layout_height="wrap_content" 
     android:text="Islamiat" 
     android:id="@+id/Thursday_Islamiat" 
     android:layout_row="1" 
     android:layout_column="5" 
     android:layout_gravity="center|fill" 
     android:gravity="center" /> 

    <TextView 
     android:layout_width="80dp" 
     android:layout_height="27dp" 
     android:text="Library" 
     android:id="@+id/poqwe" 
     android:layout_row="1" 
     android:layout_column="6" 
     android:layout_gravity="center" 
     android:gravity="center" /> 

    <TextView 
     android:layout_width="120dp" 
     android:layout_height="27dp" 
     android:text="1000-1050" 
     android:id="@+id/textView8" 
     android:layout_row="2" 
     android:layout_column="0" 
     android:textAlignment="center" 
     android:layout_gravity="center|fill" 
     android:gravity="center" 
     android:background="#e0fcbb" /> 

    <TextView 
     android:layout_width="80dp" 
     android:layout_height="75dp" 
     android:text="ICT Lab" 
     android:id="@+id/Monday_ICT" 
     android:layout_row="2" 
     android:layout_column="1" 
     android:layout_rowSpan="3" 
     android:textAlignment="center" 
     android:layout_gravity="center|fill" 
     android:gravity="center" /> 

    <TextView 
     android:layout_width="100dp" 
     android:layout_height="27dp" 
     android:text="Calculus" 
     android:id="@+id/Wed_calc" 
     android:layout_row="2" 
     android:layout_column="3" 
     android:gravity="center" 
     android:layout_gravity="bottom" /> 

    <TextView 
     android:layout_width="wrap_content" 
     android:layout_height="wrap_content" 
     android:text="Calculus" 
     android:id="@+id/Thursday_calc" 
     android:layout_row="2" 
     android:layout_column="5" 
     android:layout_gravity="center|fill" 
     android:gravity="center" /> 

    <TextView 
     android:layout_width="80dp" 
     android:layout_height="27dp" 
     android:text="Islamiat" 
     android:id="@+id/fri_islamiat" 
     android:layout_row="2" 
     android:layout_column="6" 
     android:layout_gravity="center" 
     android:gravity="center" /> 

    <TextView 
     android:layout_width="120dp" 
     android:layout_height="27dp" 
     android:text="1100-1150" 
     android:id="@+id/textView9" 
     android:layout_row="3" 
     android:layout_column="0" 
     android:textAlignment="center" 
     android:layout_gravity="center|fill" 
     android:gravity="center" 
     android:background="#daf8a6" /> 

    <TextView 
     android:layout_width="80dp" 
     android:layout_height="27dp" 
     android:text="Library" 
     android:id="@+id/textView21" 
     android:layout_row="3" 
     android:layout_column="2" 
     android:gravity="center" 
     android:layout_gravity="bottom" /> 

    <TextView 
     android:layout_width="100dp" 
     android:layout_height="27dp" 
     android:text="Tutorial" 
     android:id="@+id/textView27" 
     android:layout_row="3" 
     android:layout_column="3" 
     android:layout_gravity="left|bottom" 
     android:gravity="center" /> 

    <TextView 
     android:layout_width="wrap_content" 
     android:layout_height="wrap_content" 
     android:text="DM" 
     android:id="@+id/Thursday_DM" 
     android:layout_row="3" 
     android:layout_column="5" 
     android:layout_gravity="center|fill" 
     android:gravity="center" /> 

    <TextView 
     android:layout_width="80dp" 
     android:layout_height="27dp" 
     android:text="Comm. Skills" 
     android:id="@+id/fri_comm" 
     android:layout_row="3" 
     android:layout_column="6" 
     android:layout_gravity="center" 
     android:gravity="center" 
     android:textSize="13dp" /> 

    <TextView 
     android:layout_width="120dp" 
     android:layout_height="27dp" 
     android:text="1200-1250" 
     android:id="@+id/textView10" 
     android:layout_row="4" 
     android:layout_column="0" 
     android:textAlignment="center" 
     android:layout_gravity="center|fill" 
     android:gravity="center" 
     android:background="#e0fcbb" /> 

    <TextView 
     android:layout_width="80dp" 
     android:layout_height="27dp" 
     android:text="Comm. Skills" 
     android:id="@+id/Tuesday_Comm" 
     android:layout_row="4" 
     android:layout_column="2" 
     android:layout_gravity="center|fill" 
     android:gravity="center" 
     android:textSize="13dp" /> 

    <TextView 
     android:layout_width="wrap_content" 
     android:layout_height="wrap_content" 
     android:text="DM" 
     android:id="@+id/Wed_DM" 
     android:layout_row="4" 
     android:layout_column="3" 
     android:layout_gravity="center|fill" 
     android:gravity="center" /> 

    <TextView 
     android:layout_width="wrap_content" 
     android:layout_height="wrap_content" 
     android:text="Tutorial" 
     android:id="@+id/textView33" 
     android:layout_row="4" 
     android:layout_column="5" 
     android:layout_gravity="center|fill" 
     android:gravity="center" /> 

    <TextView 
     android:layout_width="80dp" 
     android:layout_height="27dp" 
     android:text="Programming" 
     android:id="@+id/fri_Prog" 
     android:layout_row="4" 
     android:layout_column="6" 
     android:layout_gravity="center" 
     android:gravity="center" 
     android:textSize="13dp" /> 

    <TextView 
     android:layout_width="120dp" 
     android:layout_height="27dp" 
     android:text="Lunch + Prayer Break" 
     android:id="@+id/textView17" 
     android:layout_row="5" 
     android:layout_column="0" 
     android:layout_gravity="center|fill" 
     android:gravity="center" 
     android:layout_columnSpan="7" 
     android:background="#d9f2f1" /> 

    <TextView 
     android:layout_width="120dp" 
     android:layout_height="27dp" 
     android:text="1400-1450" 
     android:id="@+id/textView13" 
     android:layout_row="6" 
     android:layout_column="0" 
     android:textAlignment="center" 
     android:layout_gravity="center|fill" 
     android:gravity="center" 
     android:background="#daf8a6" /> 

    <TextView 
     android:layout_width="80dp" 
     android:layout_height="27dp" 
     android:text="DM" 
     android:id="@+id/Monday_DM" 
     android:layout_row="6" 
     android:layout_column="1" 
     android:layout_gravity="center|fill" 
     android:gravity="center" /> 

    <TextView 
     android:layout_width="80dp" 
     android:layout_height="50dp" 
     android:text="ICT Lecture" 
     android:id="@+id/Tuesday_ICT" 
     android:layout_row="6" 
     android:layout_column="2" 
     android:layout_gravity="center|fill" 
     android:gravity="center" 
     android:layout_rowSpan="2" /> 

    <TextView 
     android:layout_width="100dp" 
     android:layout_height="75dp" 
     android:text="Programming Lab" 
     android:id="@+id/Wed_Prog" 
     android:layout_row="6" 
     android:layout_column="3" 
     android:layout_rowSpan="3" 
     android:layout_gravity="center|fill" 
     android:gravity="center" /> 

    <TextView 
     android:layout_width="wrap_content" 
     android:layout_height="wrap_content" 
     android:text="Library" 
     android:id="@+id/textView34" 
     android:layout_row="6" 
     android:layout_column="5" 
     android:layout_gravity="center|fill" 
     android:gravity="center" /> 

    <TextView 
     android:layout_width="wrap_content" 
     android:layout_height="wrap_content" 
     android:text="Library" 
     android:id="@+id/textView41" 
     android:layout_row="6" 
     android:layout_column="6" 
     android:layout_gravity="center|fill" 
     android:gravity="center" /> 

    <TextView 
     android:layout_width="120dp" 
     android:layout_height="27dp" 
     android:text="1500-1550" 
     android:id="@+id/textView12" 
     android:layout_row="7" 
     android:layout_column="0" 
     android:textAlignment="center" 
     android:layout_gravity="center|fill" 
     android:gravity="center" 
     android:background="#e0fcbb" /> 

    <TextView 
     android:layout_width="80dp" 
     android:layout_height="27dp" 
     android:text="Library" 
     android:id="@+id/textView18" 
     android:layout_row="7" 
     android:layout_column="1" 
     android:layout_gravity="center|fill" 
     android:gravity="center" /> 

    <TextView 
     android:layout_width="wrap_content" 
     android:layout_height="wrap_content" 
     android:text="Library" 
     android:id="@+id/textView35" 
     android:layout_row="7" 
     android:layout_column="5" 
     android:layout_gravity="center|fill" 
     android:gravity="center" /> 

    <TextView 
     android:layout_width="wrap_content" 
     android:layout_height="wrap_content" 
     android:text="Library" 
     android:id="@+id/textView42" 
     android:layout_row="7" 
     android:layout_column="6" 
     android:layout_gravity="center|fill" 
     android:gravity="center" /> 

    <TextView 
     android:layout_width="120dp" 
     android:layout_height="27dp" 
     android:text="1600-1650" 
     android:id="@+id/textView14" 
     android:layout_row="8" 
     android:layout_column="0" 
     android:textAlignment="center" 
     android:layout_gravity="center|fill" 
     android:gravity="center" 
     android:background="#daf8a6" /> 

    <TextView 
     android:layout_width="80dp" 
     android:layout_height="27dp" 
     android:text="Library" 
     android:id="@+id/textView19" 
     android:layout_row="8" 
     android:layout_column="1" 
     android:layout_gravity="center|fill" 
     android:gravity="center" /> 

    <TextView 
     android:layout_width="80dp" 
     android:layout_height="27dp" 
     android:text="Library" 
     android:id="@+id/textView24" 
     android:layout_row="8" 
     android:layout_column="2" 
     android:layout_gravity="center|fill" 
     android:gravity="center" /> 

    <TextView 
     android:layout_width="wrap_content" 
     android:layout_height="wrap_content" 
     android:text="Library" 
     android:id="@+id/textView36" 
     android:layout_row="8" 
     android:layout_column="5" 
     android:layout_gravity="center|fill" 
     android:gravity="center" /> 

    <TextView 
     android:layout_width="wrap_content" 
     android:layout_height="wrap_content" 
     android:text="Library" 
     android:id="@+id/textView43" 
     android:layout_row="8" 
     android:layout_column="6" 
     android:layout_gravity="center|fill" 
     android:gravity="center" /> 

</GridLayout> 

setting_dialog.XML:

<?xml version="1.0" encoding="utf-8"?> 
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" 
android:layout_width= "400dp" 
android:layout_height="140dp" 
android:background="#3E80B4" 
android:orientation="vertical" > 

<TextView 
    android:id="@+id/set_txt_dia" 
    android:layout_width="wrap_content" 
    android:layout_height="wrap_content" 
    android:text="Enter Subject Name: " 
    android:textColor="@android:color/white" 
    android:textSize="15dp" 
    android:textStyle="bold" 
    android:layout_above="@+id/set_textView44" 
    android:layout_toRightOf="@+id/relativeLayout" 
    android:layout_toEndOf="@+id/relativeLayout" 
    android:layout_marginLeft="14dp" /> 


<RelativeLayout 
    android:layout_width="wrap_content" 
    android:layout_height="wrap_content" 
    android:layout_gravity="center" 
    android:background="#3E80B4" 
    android:orientation="horizontal" 
    android:id="@+id/relativeLayout"> 

</RelativeLayout> 

<Button 
    android:id="@+id/set_btnn" 
    android:layout_width="83dp" 
    android:layout_height="46dp" 
    android:background="@android:color/white" 
    android:clickable="true" 
    android:text="Go Back" 
    android:textColor="#5DBCD2" 
    android:textStyle="bold" 
    android:layout_marginRight="37dp" 
    android:layout_marginEnd="37dp" 
    android:layout_alignTop="@+id/set_Subject_ID" 
    android:layout_alignParentRight="true" 
    android:layout_alignParentEnd="true" 
    android:layout_marginTop="25dp" /> 

<TextView 
    android:id="@+id/set_textView15" 
    android:layout_width="wrap_content" 
    android:layout_height="wrap_content" 
    android:text="Enter Time Period: " 
    android:textColor="@android:color/white" 
    android:textSize="15dp" 
    android:textStyle="bold" 
    android:layout_centerVertical="true" 
    android:layout_alignLeft="@+id/set_textView44" 
    android:layout_alignStart="@+id/set_textView44" /> 

<TextView 
    android:id="@+id/set_textView44" 
    android:layout_width="wrap_content" 
    android:layout_height="wrap_content" 
    android:text="Enter Location: " 
    android:textColor="@android:color/white" 
    android:textSize="15dp" 
    android:textStyle="bold" 
    android:layout_above="@+id/set_textView15" 
    android:layout_alignLeft="@+id/set_txt_dia" 
    android:layout_alignStart="@+id/set_txt_dia" /> 

<EditText 
    android:layout_width="100dp" 
    android:layout_height="wrap_content" 
    android:id="@+id/set_Subject_ID" 
    android:textSize="16dp" 
    android:layout_marginBottom="0dp" 
    android:layout_marginLeft="152dp" 
    android:layout_marginTop="5dp" /> 

<EditText 
    android:layout_width="100dp" 
    android:layout_height="wrap_content" 
    android:id="@+id/set_Time_ID" 
    android:textColor="#ffffff" 
    android:textSize="16dp" 

    android:layout_marginLeft="139dp" 
    android:layout_marginTop="44dp" /> 

<EditText 
    android:layout_width="70dp" 
    android:layout_height="wrap_content" 
    android:id="@+id/set_Room_ID" 
    android:textSize="16dp" 
    android:textColor="#ffffff" 
    android:layout_marginLeft="114dp" 
    android:layout_marginTop="24dp" /> 

Я не отправлял весь Java основной деятельности, я только писал то, что имеет отношение.

ответ

1

Я не заметил, что вы используете какую-либо базу данных. Я вижу, что в вашем приложении вам необходимо обмениваться данными между классами, поэтому должен иметь, чтобы использовать SharedPreferences стандартной базы данных:

Читать пожалуйста это:

How to use SharedPreferences in Android to store, fetch and edit values

Вы пытались получить строковое значение, которое было временно и доступно только для определенного класса. Это твоя проблема. Решение выше.

Надеется, что это поможет

0

В OnClick вы создаете новый экземпляр, с которым вы на самом деле не кажешься, делать что-либо.

Если вы должны были иметь в вас кДж класс что-то вроде:

общественного MainActivity с;

...

общественного кдж (MainActivity а) {

, а затем в OnClick (View объем) под "случай R.id.set_btnn":

c.str = set_monday_calc. GetText() ToString().

вам удастся обновить str.

Смежные вопросы