我的问题与之前在本网站上就同一主题提出的其他问题有所不同。关于我们如何将EditText字段中的文本存储到字符串的答案以
的形式给出EditText input = (EditText) findViewById(R.id.inputId);
String str = input.getText().toString();
我的问题有点不同。
我的java主要活动是:
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;
}
}
);
}
}
kj类具有以下代码:
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件事。我试图在类kj中使用此按钮来实现:
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
在MainActivity java文件中声明。当用户在主题名称上输入文本并单击此按钮时,文本应存储在str变量中。
但这不会发生。当我开始在界面上的EditText字段上编写任何文本时,如下所示:
日志中出现以下错误:
然后当我单击Go Back按钮时应该设置我写入变量str的文本,在日志中会出现以下错误:
稍后当我单击主题时,我点击按钮之前写的内容没有显示,而是显示空白空间,这是在mainactivity java文件中由此行声明的:
public String str;
像这样:
有什么问题?以下是其余文件:
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主要活动,我只发布了相关的内容。
答案 0 :(得分:1)
我没有注意到你正在使用任何数据库。我在你的应用程序中看到你需要在类之间共享数据,因此必须使用SharedPreferences
标准数据库:
请读这个:
How to use SharedPreferences in Android to store, fetch and edit values
您尝试获取一个临时的字符串值,仅适用于特定类。那是你的问题。上面的解决方案。
希望有所帮助
答案 1 :(得分:0)
在onClick中,您正在创建一个新实例,而您似乎并没有做任何事情。
如果你在kj课堂上有类似的东西:
public MainActivity c;
...
public kj(MainActivity a){
然后在“case R.id.set_btnn”下的onClick(View v):
c.str = set_monday_calc.getText()。toString();
您将设法更新str。