问候,请查看我的代码并帮助我查找错误。
代码:
主要活动类(单击方法上的按钮):
public void editm(View w) {
/*this method called when i click on Profile button that is on MainActivity(A)*/
Intent pro=new Intent(MainActivity.this,profile.class);
startActivity(new Intent(pro));
}
意图类:
public class profile extends Activity
{
String ptrm;
View v=null;
pdatabasehelper phelper;
EditText ed1;
EditText ed2;
EditText ed3;
EditText ed4;
EditText ed5;
EditText ed6;
TextView ptn;
TextView kt0;
TextView kt1;
TextView kt2;
TextView kt3;
TextView kt4;
TextView kt5;
TextView kt6;
public void onCreate(Bundle savedInstanceState)
{
super.onCreate(savedInstanceState);
setContentView(R.layout.profilec);
pshow(v);
//Toast.makeText(getBaseContext(), "helloo new", 10).show();
}
public void pshow(View w) {
//this method called to fetch out the database values
onStartp();
onstart();
Boolean flag=false;
try {
flag=phelper.pshowrecord(ptrm);
} catch(Exception e){
Toast.makeText(getBaseContext(), "SOme display error", 20).show();
}
if(flag==true) {
kt1.setText(phelper.name);
kt2.setText(phelper.guardian);
kt3.setText(phelper.number);
kt4.setText(phelper.address);
kt5.setText(phelper.medical);
kt6.setText(phelper.another);
}
else {
Toast.makeText(this,"Add a Contact", 50).show();
}
}
public void pbackmeth(View w) {
/* this method called when i move back from edit activity(C)
* to profile activity(B)
*/
setContentView(R.layout.profilec);
pshow(v);
}
public void calledit(View w)
{
// this method called when i click on edit button,which is
// there below the profile.
setContentView(R.layout.editc);
}
public void onStartp() {
kt1=(TextView)findViewById(R.id.ptext3);
kt2=(TextView)findViewById(R.id.ptext5);
kt3=(TextView)findViewById(R.id.ptext7);
kt4=(TextView)findViewById(R.id.ptext9);
kt5=(TextView)findViewById(R.id.ptext11);
kt6=(TextView)findViewById(R.id.ptext13);
}
public void onstart() {
ed1=(EditText)findViewById(R.id.jname);
ed2=(EditText)findViewById(R.id.jeditText1);
ed3=(EditText)findViewById(R.id.jeditText2);
ed4=(EditText)findViewById(R.id.jeditText3);
ed5=(EditText)findViewById(R.id.jeditText4);
ed6=(EditText)findViewById(R.id.jaeditText1);
ptn=(TextView)findViewById(R.id.jprofile);
phelper=new pdatabasehelper(this);
}
public void savemethj(View w)
{
// this method called when i click on Save button which is
// in activity(C).
onstart();
long a;
ptrm=ptn.getText().toString();
String edt1=ed1.getText().toString();
String edt2=ed2.getText().toString();
String edt3=ed3.getText().toString();
String edt4=ed4.getText().toString();
String edt5=ed5.getText().toString();
String edt6=ed6.getText().toString();
try {
a=phelper.insertpro(ptrm,edt1, edt2, edt3, edt4, edt5, edt6);
if(a>=1) {
Toast.makeText(getBaseContext(),a+ "Record Successfully Saved", 30).show();
}
else {
Toast.makeText(getBaseContext(), "Not Saved", 30).show();
}
}catch(Exception e) {
Toast.makeText(getBaseContext(), "Errrrrrrrrrrr", Toast.LENGTH_SHORT).show();
}
}
}
数据库类:
public class pdatabasehelper extends SQLiteOpenHelper {
final static String databasename="demop";
final static int databaseversion=1;
String name,guardian,number,address,medical,another=null;
public pdatabasehelper(Context ctx) {
super(ctx,databasename,null,databaseversion);
}
@Override
public void onCreate(SQLiteDatabase db) {
try {
Log.d("tag4545","database");
db.execSQL("create table mypro(id text,name text,guardian text,number text,address text,medical text,another text)");
}
catch(SQLException e) {
e.printStackTrace();
}
}
@Override
public void onUpgrade(SQLiteDatabase db, int oldVersion, int newVersion) {
db.execSQL("drop table if Exists mypic");
// db.execSQL("drop table if Exists emer");
onCreate(db);
}
public long insertpro(String id,String e1,String e2,String e3,String e4,String e5,String e6)
{
SQLiteDatabase base=getWritableDatabase();
ContentValues value=new ContentValues();
byte[] data = getBitmapAsByteArray(img);
value.put("id", id);
value.put("name", e1);
value.put("guardian", e2);
value.put("number", e3);
value.put("address", e4);
value.put("medical", e5);
value.put("another", e6);
long a=base.insert("mypro",null,value);
return a;
}
public boolean pshowrecord(String id)
{
SQLiteDatabase base=getWritableDatabase();
try
{
Cursor cs=base.query("mypro", new String[]{"name","guardian","number","address","medical","another"},"id=?", new String[]{String.valueOf(id)}, null, null, null);
if(cs!=null) {
cs.moveToFirst();
Log.d("Big Error"," Programe Stop");
name=cs.getString(0);
guardian=cs.getString(1);
number=cs.getString(2);
address=cs.getString(3);
medical=cs.getString(4);
another=cs.getString(5);
return true;
}
else {
return false;
}
}
catch(Exception e)
{
return false;
}
}
public void deleterecord(String pe_id)
{
SQLiteDatabase base=getWritableDatabase();
base.delete("mypro","id=?",new String[]{pe_id});
}
}
我希望每次通过 MainActivity 按钮(配置文件)或活动 C 按钮(返回配置文件)调用我的活动(活动 B 或配置文件),然后我从数据库中获取所有值以在活动 B 或配置文件上显示它。
我在打印“Log.d(“Big Error”,“Programe Stop”)时遇到错误;” 在 pshowrecord(字符串 id)中。但是当我在编辑配置文件中输入值时,即当我编辑配置文件值并移回配置文件时,这种方法可以正常工作。但是当我再次启动我的应用程序并单击第一个活动(即主要活动)中的配置文件按钮时调用它时,即使我在数据库中有值,也会生成此日志并且应用程序停止工作,因为它在我单击按钮时显示“返回个人资料”。
请帮忙,一天后我需要这个代码。谢谢
Xml 代码:
主要活动 xml:
<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"
tools:context=".MainActivity"
android:background="@drawable/gb28"
>
<Button
android:id="@+id/button1"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="edit"
android:onClick="editm" />
</RelativeLayout>
配置文件 xml 代码:
<?xml version="1.0" encoding="utf-8"?>
<ScrollView xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent" >
<RelativeLayout
xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:background="@drawable/gb2"
>
<TextView
android:id="@+id/ptext1"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentTop="true"
android:layout_centerHorizontal="true"
android:text="PROFILE"
android:textAppearance="?android:attr/textAppearanceLargeInverse" />
<TextView
android:id="@+id/ptext2"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentLeft="true"
android:layout_below="@+id/ptext1"
android:layout_marginTop="16dp"
android:text="Name"
android:textAppearance="?android:attr/textAppearanceLargeInverse" />
<TextView
android:id="@+id/ptext3"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_below="@+id/ptext2"
android:inputType="textMultiLine"
android:isScrollContainer="true"
android:minHeight="20dp"
android:textAppearance="?android:attr/textAppearanceLargeInverse"
/>
<TextView
android:id="@+id/ptext4"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="guardian"
android:layout_below="@+id/ptext3"
android:textAppearance="?android:attr/textAppearanceLargeInverse"
/>
<TextView
android:id="@+id/ptext5"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:inputType="textMultiLine"
android:isScrollContainer="true"
android:minHeight="20dp"
android:layout_below="@+id/ptext4"
android:textAppearance="?android:attr/textAppearanceLargeInverse"
/>
<TextView
android:id="@+id/ptext6"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Cell Number"
android:layout_below="@+id/ptext5"
android:textAppearance="?android:attr/textAppearanceLargeInverse"
/>
<TextView
android:id="@+id/ptext7"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:inputType="textMultiLine"
android:isScrollContainer="true"
android:minHeight="20dp"
android:layout_below="@+id/ptext6"
android:textAppearance="?android:attr/textAppearanceLargeInverse"
/>
<TextView
android:id="@+id/ptext8"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Address"
android:layout_below="@+id/ptext7"
android:textAppearance="?android:attr/textAppearanceLargeInverse"
/>
<TextView
android:id="@+id/ptext9"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:layout_below="@+id/ptext8"
android:inputType="textMultiLine"
android:isScrollContainer="true"
android:minHeight="20dp"
android:textAppearance="?android:attr/textAppearanceLargeInverse"
/>
<TextView
android:id="@+id/ptext10"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Medical Problem"
android:layout_below="@+id/ptext9"
android:textAppearance="?android:attr/textAppearanceLargeInverse"
/>
<TextView
android:id="@+id/ptext11"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:layout_below="@id/ptext10"
android:inputType="textMultiLine"
android:isScrollContainer="true"
android:minHeight="20dp"
android:textAppearance="?android:attr/textAppearanceLargeInverse" />
<TextView
android:id="@+id/ptext12"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_below="@id/ptext11"
android:text="Another Description"
android:textAppearance="?android:attr/textAppearanceLargeInverse" />
<TextView
android:id="@+id/ptext13"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:layout_below="@id/ptext12"
android:inputType="textMultiLine"
android:isScrollContainer="true"
android:minHeight="20dp"
android:textAppearance="?android:attr/textAppearanceLargeInverse" />
<Button
android:id="@+id/peditb"
android:layout_height="wrap_content"
android:layout_width="wrap_content"
android:layout_below="@id/ptext13"
android:text="Edit Profile"
android:onClick="calledit"
/>
</RelativeLayout>
</ScrollView>
编辑活动xml代码:
<?xml version="1.0" encoding="utf-8"?>
<ScrollView xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:background="@drawable/gb2"
>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:background="@drawable/gb2"
>
<TextView
android:id="@+id/jprofile"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentTop="true"
android:layout_centerHorizontal="true"
android:text="PROFILE"
android:textAppearance="?android:attr/textAppearanceLargeInverse" />
<TextView
android:id="@+id/jtextView5"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignLeft="@+id/jeditText2"
android:layout_below="@+id/jeditText2"
android:text="Address"
android:textAppearance="?android:attr/textAppearanceLargeInverse" />
<EditText
android:id="@+id/jeditText3"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignLeft="@+id/jtextView5"
android:layout_alignParentRight="true"
android:layout_below="@+id/jtextView5"
android:ems="10"
android:hint="Home_Address"
android:inputType="textMultiLine"
android:isScrollContainer="true"
android:minHeight="20dp"
/>
<TextView
android:id="@+id/jtextView6"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_below="@+id/jeditText3"
android:text="Medical Problem"
android:textAppearance="?android:attr/textAppearanceLargeInverse" />
<EditText
android:id="@+id/jeditText4"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentLeft="true"
android:layout_alignParentRight="true"
android:layout_below="@+id/jtextView6"
android:ems="10"
android:hint="Medical Problems or Alergies"
android:inputType="textMultiLine"
android:isScrollContainer="true"
android:minHeight="20dp"
/>
<TextView
android:id="@+id/jtextView2"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignLeft="@+id/jtextView6"
android:layout_below="@+id/jtextView1"
android:layout_marginTop="28dp"
android:text="Name"
android:textAppearance="?android:attr/textAppearanceLargeInverse" />
<TextView
android:id="@+id/jtextView4"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignLeft="@+id/jtextView3"
android:layout_below="@+id/jeditText1"
android:text="Cell Number"
android:textAppearance="?android:attr/textAppearanceLargeInverse" />
<EditText
android:id="@+id/jeditText2"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentLeft="true"
android:layout_alignRight="@+id/jname"
android:layout_below="@+id/jtextView4"
android:ems="10"
android:hint="Number"
android:inputType="textMultiLine"
android:isScrollContainer="true"
android:minHeight="20dp" />
<Button
android:id="@+id/jphoto"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignBaseline="@+id/jeditText2"
android:layout_alignBottom="@+id/jeditText2"
android:layout_toRightOf="@+id/jprofile"
android:text="Take Photo"
android:onClick="cammethod"
/>
<EditText
android:id="@+id/jname"
android:layout_width="170dp"
android:layout_height="wrap_content"
android:layout_alignParentLeft="true"
android:layout_alignRight="@+id/jtextView6"
android:layout_below="@+id/jtextView2"
android:ems="10"
android:hint="Enter_Name"
android:inputType="textMultiLine"
android:isScrollContainer="true"
android:minHeight="20dp" >
<requestFocus />
</EditText>
<TextView
android:id="@+id/jtextView3"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentLeft="true"
android:layout_below="@+id/jname"
android:text="Guardian"
android:textAppearance="?android:attr/textAppearanceLargeInverse" />
<EditText
android:id="@+id/jeditText1"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentLeft="true"
android:layout_alignRight="@+id/jeditText2"
android:layout_below="@+id/jtextView3"
android:ems="10"
android:hint="Guardian Name"
android:inputType="textMultiLine"
android:isScrollContainer="true"
android:minHeight="20dp" />
<TextView
android:id="@+id/jatextView1"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentLeft="true"
android:layout_below="@+id/jeditText4"
android:text="Another Description"
android:textAppearance="?android:attr/textAppearanceLargeInverse" />
<EditText
android:id="@+id/jaeditText1"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentLeft="true"
android:layout_alignParentRight="true"
android:layout_below="@+id/jatextView1"
android:ems="10"
android:hint="Another Description"
android:inputType="textMultiLine"
android:isScrollContainer="true"
android:minHeight="20dp" />
<Button
android:id="@+id/jsaveb"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentLeft="true"
android:layout_alignRight="@+id/jtextView5"
android:layout_below="@+id/jaeditText1"
android:onClick="savemethj"
android:text="Save" />
<Button
android:id="@+id/jback"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_toRightOf="@+id/jsaveb"
android:layout_below="@+id/jaeditText1"
android:onClick="pbackmeth"
android:text="Back to Profile" />
/>
</RelativeLayout>
</ScrollView>