2016-04-26 6 views
0

これに助けが必要です。ユーザーがデータを入力してデータベースに保存すると、ボタンを保存してから新しいアクティビティを開くことができます。これまでのところ私のアプリでデータが保存されましたが、送信する方法についてはactivity_form.xml.needヘルプで停止しますボタンを押して新しい活動を開くと、データが保存された後、誰かが私をこの助言者に助けてくれたら大いに感謝します。 TQ。ここでデータベースにデータを保存し、保存後に新しいアクティビティを開く方法は?

は私formActivity.java次のとおりです。ここで

import android.app.Activity; 
     import android.content.Intent; 
     import android.database.sqlite.SQLiteDatabase; 
     import android.support.v7.app.AppCompatActivity; 
     import android.os.Bundle; 
     import android.text.TextUtils; 
     import android.util.Patterns; 
     import android.view.View; 
     import android.widget.AdapterView; 
     import android.widget.ArrayAdapter; 
     import android.widget.Button; 
     import android.widget.CheckBox; 
     import android.widget.EditText; 
     import android.widget.RadioButton; 
     import android.widget.RadioGroup; 
     import android.widget.Spinner; 
     import android.widget.Toast; 
     import android.view.View.OnClickListener; 

     import com.android.volley.Request; 
     import com.android.volley.RequestQueue; 
     import com.android.volley.Response; 
     import com.android.volley.VolleyError; 
     import com.android.volley.toolbox.StringRequest; 
     import com.android.volley.toolbox.Volley; 

     import java.util.ArrayList; 
     import java.util.HashMap; 
     import java.util.List; 
     import java.util.Map; 
     import java.util.regex.Matcher; 
     import java.util.regex.Pattern; 

public class FormActivity extends Activity implements View.OnClickListener, AdapterView.OnItemSelectedListener { 

    private static final String REGISTER_URL = "http://khaty-ismail0.rhcloud.com/phptutorial/submitData.php"; 
    private static final String SPINNER_URL = "http://khaty-ismail0.rhcloud.com/phptutorial/spinner_data.php"; 

    public static final String KEY_NAME= "Name"; 
    public static final String KEY_AGE = "Age"; 
    public static final String KEY_EMAIL = "Email"; 
    public static String KEY_GENDER = "gender"; 
    public static final String KEY_PHONE = "Phone"; 
    public static final String KEY_DESCRIPTION = "Description"; 
    public static final String KEY_TICKET = "ticket_id"; 
    public static final String KEY_SOLUTION = "solution"; 
    public static final String JSON_ARRAY = "result"; 
    String gender =""; 

    private EditText name_eT; 
    private EditText age_eT; 
    private EditText email_eT; 
    private EditText phone_eT; 
    private EditText descr_eT; 

    private RadioGroup radioGroup; 

    private Button subm_btn; 
    private Spinner spinner; 

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

     name_eT = (EditText) findViewById(R.id.name_eT); 
     age_eT = (EditText) findViewById(R.id.age_eT); 
     email_eT= (EditText) findViewById(R.id.email_eT); 
     phone_eT= (EditText) findViewById(R.id.phone_eT); 
     descr_eT= (EditText) findViewById(R.id.descr_eT); 



     subm_btn = (Button) findViewById(R.id.subm_btn); 
     subm_btn.setOnClickListener(this); 


     spinner = (Spinner) findViewById(R.id.spinner); 
     spinner.setOnItemSelectedListener(new AdapterView.OnItemSelectedListener() { 
      @Override 
      public void onItemSelected(AdapterView<?> parent, View view, int position, long id) { 
       Toast.makeText(getBaseContext(), spinner.getSelectedItem().toString(), 
         Toast.LENGTH_SHORT).show(); 
      } 

      @Override 
      public void onNothingSelected(AdapterView<?> parent) { 

      } 
     }); 
    } 
    private void registerUser(){ 
     final String Name = name_eT.getText().toString().trim(); 
     final String Age = age_eT.getText().toString().trim(); 
     final String Email = email_eT.getText().toString().trim(); 
     final String Phone = phone_eT.getText().toString().trim(); 
     final String Description = descr_eT.getText().toString().trim(); 

     if(TextUtils.isEmpty(Name)) { 
      name_eT.setError("Please enter your name"); 
      return; 
     }else if(TextUtils.isEmpty(Age)) { 
      age_eT.setError("Please enter your age"); 
      return; 
     }else if(TextUtils.isEmpty(Phone)) { 
      phone_eT.setError("Please enter your phone"); 
      return; 
     }else if(TextUtils.isEmpty(Email)) { 
      email_eT.setError("Please enter your email"); 
      return; 
     }else if(TextUtils.isEmpty(Description)) { 
      descr_eT.setError("Please enter your issue"); 
      return; 
     } 

     final RadioGroup radioGroup =(RadioGroup)findViewById(R.id.radioGroup); 
     final RadioButton male_rb=(RadioButton)findViewById(R.id.male_rb); 
     final RadioButton female_rb=(RadioButton)findViewById(R.id.female_rb); 

     if (radioGroup.getCheckedRadioButtonId()== male_rb.getId()) 
     { 
      KEY_GENDER = "Male"; 
     } 
     else if (radioGroup.getCheckedRadioButtonId()==female_rb.getId()){ 
      KEY_GENDER = "Female"; 
     } 

     StringRequest stringRequest = new StringRequest(Request.Method.POST, REGISTER_URL, 
       new Response.Listener<String>() { 
        @Override 
        public void onResponse(String response) { 
         Toast.makeText(FormActivity.this,response,Toast.LENGTH_LONG).show(); 
        } 
       }, 
       new Response.ErrorListener() { 
        @Override 
        public void onErrorResponse(VolleyError error) { 
         Toast.makeText(FormActivity.this,error.toString(),Toast.LENGTH_LONG).show(); 
        } 
       }){ 
      @Override 
      protected Map<String,String> getParams(){ 
       Map<String,String> params = new HashMap<String, String>(); 
       params.put(KEY_NAME,Name); 
       params.put(KEY_AGE,Age); 
       params.put(KEY_GENDER,gender); 
       params.put(KEY_EMAIL, Email); 
       params.put(KEY_PHONE, Phone); 
       params.put(KEY_DESCRIPTION, Description); 
       return params; 
      } 

     }; 

     RequestQueue requestQueue = Volley.newRequestQueue(this); 
     requestQueue.add(stringRequest); 
    } 
    public void onCheckboxClicked(View V) { 

     boolean checked = ((RadioButton) V).isChecked(); 

     switch (V.getId()) { 
      case R.id.male_rb: 
       if (checked) 

        break; 

      case R.id.female_rb: 
       if (checked) 

        break; 
     } 
    } 

    @Override 
    public void onClick(View v) { 
     if(v == subm_btn){ 
      registerUser(); 
     } 
    } 
    @Override 
    public void onItemSelected(AdapterView<?> parent, View view, int position, long id) { 
    } 

    @Override 
    public void onNothingSelected(AdapterView<?> parent) { 
    } 

    /*public void submitData(View view) { 
     Intent getResponse = new Intent(this,SubmitData.class); 

     final int result = 1; 

     startActivityForResult(getResponse, result); 
    }*/ 
} 

activity_form.xml次のとおりです。

<?xml version="1.0" encoding="utf-8"?> 
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" 
    android:layout_width="match_parent" 
    android:layout_height="match_parent" 
    xmlns:tools="http://schemas.android.com/tools" 
    android:background="@color/buttonFont" 
    tools:context="com.example.khadijah.brucertv2.FormActivity"> 

    <TextView 
     android:layout_width="wrap_content" 
     android:layout_height="wrap_content" 
     android:padding="5dp" 
     android:text="@string/User_info" 
     android:id="@+id/userInfo" 
     android:textSize="30sp" 
     android:textColor="@color/colorFont" 
     android:textStyle="bold" 
     android:layout_alignParentTop="true" 
     android:layout_centerHorizontal="true"/> 

    <TextView 
     android:layout_width="70dp" 
     android:layout_height="wrap_content" 
     android:text="Name:" 
     android:id="@+id/name_tV" 
     android:textColor="@color/colorFont" 
     android:layout_marginTop="24dp" 
     android:layout_below="@+id/userInfo" 
     android:layout_alignLeft="@+id/userInfo" 
     android:layout_alignStart="@+id/userInfo" /> 

    <TextView 
     android:layout_width="70dp" 
     android:layout_height="wrap_content" 
     android:text="Age:" 
     android:id="@+id/age_tV" 
     android:textColor="@color/colorFont" 
     android:layout_alignBottom="@+id/age_eT" 
     android:layout_alignLeft="@+id/name_tV" 
     android:layout_alignStart="@+id/name_tV" /> 

    <TextView 
     android:layout_width="70dp" 
     android:layout_height="wrap_content" 
     android:text="Gender" 
     android:id="@+id/gender_tV" 
     android:textColor="@color/colorFont" 
     android:layout_below="@+id/age_tV" 
     android:layout_alignLeft="@+id/age_tV" 
     android:layout_alignStart="@+id/age_tV" 
     android:layout_marginTop="24dp" /> 

    <TextView 
     android:layout_width="70dp" 
     android:layout_height="wrap_content" 
     android:text="Email:" 
     android:id="@+id/email_tV" 
     android:textColor="@color/colorFont" 
     android:layout_alignBottom="@+id/email_eT" 
     android:layout_alignLeft="@+id/name_tV" 
     android:layout_alignStart="@+id/name_tV" /> 

    <TextView 
     android:layout_width="70dp" 
     android:layout_height="wrap_content" 
     android:text="Phone" 
     android:id="@+id/phone_tV" 
     android:textColor="@color/colorFont" 
     android:layout_alignBottom="@+id/phone_eT" 
     android:layout_alignLeft="@+id/gender_tV" 
     android:layout_alignStart="@+id/gender_tV" /> 

    <EditText 
     android:layout_width="200dp" 
     android:layout_height="30dp" 
     android:layout_marginBottom="5dp" 
     android:inputType="textPersonName" 
     android:hint="@string/hint_required" 
     android:textColorHint="@color/buttonFont" 
     android:background="@drawable/border_style" 
     android:ems="10" 
     android:id="@+id/name_eT" 
     android:textColor="@color/inputFont" 
     android:layout_alignBottom="@+id/name_tV" 
     android:layout_alignRight="@+id/userInfo" 
     android:layout_alignEnd="@+id/userInfo" /> 

    <EditText 
     android:layout_width="200dp" 
     android:layout_height="30dp" 
     android:inputType="number" 
     android:ems="10" 
     android:hint="@string/hint_required" 
     android:textColorHint="@color/buttonFont" 
     android:background="@drawable/border_style" 
     android:id="@+id/age_eT" 
     android:textColor="@color/inputFont" 
     android:layout_below="@+id/name_tV" 
     android:layout_alignRight="@+id/userInfo" 
     android:layout_alignEnd="@+id/userInfo" /> 

    <EditText 
     android:layout_width="200dp" 
     android:layout_height="30dp" 
     android:inputType="textEmailAddress" 
     android:ems="10" 
     android:id="@+id/email_eT" 
     android:hint="@string/hint_required" 
     android:textColorHint="@color/buttonFont" 
     android:textColor="@color/inputFont" 
     android:background="@drawable/border_style" 
     android:layout_below="@+id/phone_eT" 
     android:layout_alignLeft="@+id/age_eT" 
     android:layout_alignStart="@+id/age_eT" /> 

    <EditText 
     android:layout_width="200dp" 
     android:layout_height="30dp" 
     android:inputType="phone" 
     android:ems="10" 
     android:id="@+id/phone_eT" 
     android:layout_marginBottom="5dp" 
     android:textColor="@color/inputFont" 
     android:hint="@string/hint_required" 
     android:textColorHint="@color/buttonFont" 
     android:background="@drawable/border_style" 
     android:layout_below="@+id/gender_tV" 
     android:layout_alignLeft="@+id/email_eT" 
     android:layout_alignStart="@+id/email_eT" /> 

    <TextView 
     android:layout_width="wrap_content" 
     android:layout_height="wrap_content" 
     android:padding="5dp" 
     android:text="@string/incident_info" 
     android:id="@+id/incidentInfo" 
     android:textColor="@color/colorFont" 
     android:textStyle="bold" 
     android:textSize="30sp" 
     android:layout_centerVertical="true" 
     android:layout_centerHorizontal="true" /> 

    <Spinner 
     android:layout_width="wrap_content" 
     android:layout_height="wrap_content" 
     android:id="@+id/spinner" 
     android:prompt="@array/incident_type" 
     android:entries="@array/incident_type" 
     android:layout_below="@+id/incidentInfo" 
     android:layout_alignLeft="@+id/phone_eT" 
     android:layout_alignStart="@+id/phone_eT" 
     android:layout_alignRight="@+id/phone_eT" 
     android:layout_alignEnd="@+id/phone_eT" 
     android:spinnerMode="dropdown" /> 

    <TextView 
     android:layout_width="wrap_content" 
     android:layout_height="wrap_content" 
     android:padding="5dp" 
     android:text="@string/incident_type_DD" 
     android:textColor="@color/colorFont" 
     android:id="@+id/incident_DD" 
     android:layout_below="@+id/incidentInfo" 
     android:layout_toLeftOf="@+id/spinner" 
     android:layout_toStartOf="@+id/spinner" /> 

    <TextView 
     android:layout_width="wrap_content" 
     android:layout_height="wrap_content" 
     android:padding="5dp" 
     android:text="@string/description" 
     android:id="@+id/description_tV" 
     android:textColor="@color/colorFont" 
     android:layout_below="@+id/spinner" 
     android:layout_alignLeft="@+id/phone_tV" 
     android:layout_alignStart="@+id/phone_tV" /> 

    <EditText 
     android:layout_width="300dp" 
     android:layout_height="80dp" 
     android:inputType="textMultiLine" 
     android:ems="10" 
     android:id="@+id/descr_eT" 
     android:hint="@string/descr_hint" 
     android:textColorHint="@color/buttonFont" 
     android:gravity="top" 
     android:background="@drawable/border_style" 
     android:textColor="@color/inputFont" 
     android:layout_below="@+id/description_tV" 
     android:layout_alignLeft="@+id/description_tV" 
     android:layout_alignStart="@+id/description_tV" /> 

    <Button 
     android:layout_width="match_parent" 
     android:layout_height="60dp" 
     android:layout_margin="5dp" 
     android:text="SUBMIT" 
     android:onClick="submitData" 
     android:textStyle="bold" 
     android:textSize="35sp" 
     android:id="@+id/subm_btn" 
     android:background="@drawable/custom_btn" 
     android:textColor="@color/buttonFont" 
     android:layout_alignParentBottom="true"/> 

    <RadioGroup 
     android:layout_width="wrap_content" 
     android:layout_height="wrap_content" 
     android:orientation="horizontal" 
     android:layout_alignLeft="@+id/phone_eT" 
     android:layout_alignStart="@+id/phone_eT" 
     android:layout_below="@+id/age_eT" 
     android:layout_alignRight="@+id/descr_eT" 
     android:layout_alignEnd="@+id/descr_eT" 
     android:layout_above="@+id/phone_eT" 
     android:weightSum="1" 
     android:id="@+id/radioGroup"> 

     <RadioButton 
      android:layout_width="wrap_content" 
      android:layout_height="wrap_content" 
      android:checked="false" 
      android:text="Male" 
      android:id="@+id/male_rb" 
      android:onClick="onCheckboxClicked"/> 
     <RadioButton 
      android:layout_width="wrap_content" 
      android:layout_height="wrap_content" 
      android:text="Female" 
      android:checked="false" 
      android:id="@+id/female_rb" 
      android:onClick="onCheckboxClicked"/> 

    </RadioGroup> 


</RelativeLayout> 

私は別のアクティビティを保存して開くために、送信ボタンをsubmit_data.xmlと呼ばれたい:ここ

<?xml version="1.0" encoding="utf-8"?> 
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" 
    android:layout_width="match_parent" 
    android:layout_height="match_parent" 
    xmlns:tools="http://schemas.android.com/tools" 
    android:background="@color/buttonFont" 
    android:padding="16dp" 
    tools:context="com.example.khadijah.brucertv2.SubmitData"> 

    <TextView 
     android:layout_width="wrap_content" 
     android:layout_height="wrap_content" 
     android:textAppearance="?android:attr/textAppearanceMedium" 
     android:text="Thank You for reporting to BruCERT." 
     android:id="@+id/text1" 
     android:layout_gravity="center_vertical" 
     android:layout_alignParentTop="true" 
     android:layout_centerHorizontal="true" 
     android:layout_marginTop="32dp" /> 

    <TextView 
     android:layout_width="wrap_content" 
     android:layout_height="wrap_content" 
     android:textAppearance="?android:attr/textAppearanceMedium" 
     android:text="You will be entertained within 24hours. Your information will be treated strictly confidential." 
     android:id="@+id/text2" 
     android:layout_below="@+id/text1" 
     android:layout_centerHorizontal="true" 
     android:layout_marginTop="32dp" /> 

    <TextView 
     android:layout_width="wrap_content" 
     android:layout_height="wrap_content" 
     android:textAppearance="?android:attr/textAppearanceMedium" 
     android:text="Please retain the ticket number for quick follow up and to ensure effective response." 
     android:id="@+id/text3" 
     android:layout_below="@+id/text2" 
     android:layout_centerHorizontal="true" 
     android:layout_marginTop="32dp" /> 

</RelativeLayout> 

ですsubmitData.java

import android.app.Activity; 
import android.content.Intent; 
import android.os.Bundle; 
import android.view.View; 

/** 
* Created by Khadijah on 3/29/2016. 
*/ 
public class SubmitData extends Activity { 
    @Override 
    protected void onCreate(Bundle savedInstanceState) { 
     super.onCreate(savedInstanceState); 
     setContentView(R.layout.submit_data); 
    } 
    public void submitData(View view) { 
     Intent getResponse = new Intent(this,SubmitData.class); 

     final int result = 1; 

     startActivityForResult(getResponse, result); 
    } 
} 

AndroidManifest.xml

<?xml version="1.0" encoding="utf-8"?> 
<manifest xmlns:android="http://schemas.android.com/apk/res/android" 
    package="com.example.khadijah.brucertv2"> 

    <uses-permission android:name="android.permission.INTERNET"/> 

    <application 
     android:allowBackup="true" 
     android:icon="@mipmap/brucertlogotrans" 
     android:supportsRtl="true" 
     android:theme="@android:style/Theme.Holo.Light"> 

     <activity 
      android:name=".splash" 
      android:label="@string/app_name"> 
      <intent-filter> 
       <action android:name="android.intent.action.MAIN" /> 

       <category android:name="android.intent.category.LAUNCHER" /> 
      </intent-filter> 
     </activity> 

     <activity 
      android:name=".MainActivity" 
      android:theme="@style/AppTheme.NoActionBar"> 
      <intent-filter> 
       <action android:name="com.example.khadijah.brucertv2.MainActivity" /> 

       <category android:name="android.intent.category.DEFAULT" /> 
      </intent-filter>--> 
     </activity> 

     <activity 
      android:name=".FormActivity" 
      android:label="Online Form"> 
      <intent-filter> 

       <action android:name="com.example.khadijah.brucertv2.FormActivity" /> 

       <category android:name="android.intent.category.DEFAULT" /> 
      </intent-filter> 
     </activity> 

     <activity 
      android:name=".SubmitData" 
      android:label="Feedback"> 
      <intent-filter> 
       <action android:name="com.example.khadijah.brucertv2.SubmitData" /> 

       <category android:name="android.intent.category.DEFAULT" /> 
      </intent-filter> 
     </activity> 

    </application> 

</manifest> 
+1

問題を示す最小限の例を教えてください。手元にある質問に関連するコードだけを含めるようにしてください。 –

+0

アプリにエラーはありません。ユーザーがデータを送信すると、それは自分のデータベースに保存されました。私が欲しいのは、ユーザーが「送信」を押すとデータが正常に保存され、別のレイアウトが自動的に開きます。別のxmlファイルを開く場合。 – user6181358

+0

私は「エラー」があるとは言いませんでしたが、明らかに問題があります(これがあなたがここにいる理由です)。可能な限り多くのコードを削除してください。私たちがあなたを助けることができるもっと小さな例があります。誰もあなたのコードの500行以上を読みたいとは思っていませんが、もしそれを減らして不要なものをすべて取り除くなら、あなたのコードを見る可能性が高くなります。 (あなたの質問を読んで私たちを売却しようとしてください)そして、あなたは実際に自分で問題を発見するかもしれません! –

答えて

0

このコードonResponse(文字列応答)方法内側

startActivity(new Intent(FormActivity.this, SubmitData.class)); 

を加えます。 SubmitData.javaファイルからsubmitDataメソッドを削除します。また、activity_form.xmlファイルからandroid:onClick = "submitData"を削除してください。

+0

あまりにもすごい!あなたは私の人生を救った。 – user6181358

0

私はログインボタンの呼び出しをAsyncTaskにし、情報を検証した後にonPostExecute()を呼び出すと、開いているアクティビティにstartActivity()を実行できます。

関連する問題