Reputation: 423
My question is different from other questions previously asked on this site on the same topic. The answer as to how we can store text from EditText field to a string was given as
EditText input = (EditText) findViewById(R.id.inputId);
String str = input.getText().toString();
my question is a bit different.
my java main activity is:
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;
}
}
);
}
}
The kj class has the following code:
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();
}
}
Basically the app's interface has a time table of subjects. When you click on a subject name, a dialog box appears showing 3 things: Subject name, room number and time period.
Now what I want is I should be able to change the 3 things by making a long click on the subject name. I am trying to use this button in class kj to achieve that:
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();
this variable str
is declared in MainActivity java file. When the user enters the text on the subject name and clicks on this button, the text should be stored in the str variable.
But this is not happening. When I start writing any text on the EditText field on my interface which looks like this:
The following error is seen in the log:
then when I click Go Back button which should set the text I wrote to variable str, the following error is seen in the log:
Later on when I single click on the subject, what I wrote before I clicked on the button is not being showed, rather a blank space is being shown as was declared by this line in mainactivity java file:
public String str;
Like this:
What is the problem? Here are the rest of the files:
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" />
I did not post the whole of java main activity, I only posted that which is relevant.
Upvotes: 1
Views: 797
Reputation: 1194
In onClick you are creating a new instance with which you don't really seem to be doing anything.
If you were to have in you kj class something like:
public MainActivity c;
...
public kj(MainActivity a) {
and then in onClick(View v) under "case R.id.set_btnn":
c.str = set_monday_calc.getText().toString();
you would manage to update str.
Upvotes: 0
Reputation: 19361
I haven't noticed you're using any database. I see that in your app you need to share data between classes, so MUST HAVE is to use SharedPreferences
standard database:
Read please this:
How to use SharedPreferences in Android to store, fetch and edit values
You tried to get a string value which was temporary and available only for specific class. That's your problem. Solution above.
Hope it help
Upvotes: 1