複数のEditText入力をtxtファイルに保存しようとします。私はまた、ボタンが別のアクティビティを意図しているようにしたい。コードを実装しようとしましたが、ボタンをクリックするとアプリケーションがクラッシュします。 これは私のコードです。EditTextを外部ストレージとインテントに1つのボタンで保存する
MainActivity.Java:
public class MainActivity extends AppCompatActivity {
EditText name, numbTent, pangkat, date, time, penyelia, pegawai;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
name = (EditText) findViewById(R.id.name);
numbTent = (EditText) findViewById(R.id.numbTent);
pangkat = (EditText) findViewById(R.id.pangkat);
date = (EditText) findViewById(R.id.date);
time = (EditText) findViewById(R.id.time);
penyelia = (EditText) findViewById(R.id.penyelia);
pegawai = (EditText) findViewById(R.id.pegawai);
}
public void SaveInfo(View v) {
String state;
state = Environment.getExternalStorageState();
if(Environment.MEDIA_MOUNTED.equals(state))
{
File Root = Environment.getExternalStorageDirectory();
File Dir = new File(Root.getAbsolutePath()+"/Semak Operasi Mampatan SRC");
if(Dir.exists())
{
Dir.mkdir();
}
File file = new File(Dir,"AttendantInfo.txt");
String Info1 = name.getText().toString();
String Info2 = numbTent.getText().toString();
String Info3 = pangkat.getText().toString();
String Info4 = date.getText().toString();
String Info5 = time.getText().toString();
String Info6 = penyelia.getText().toString();
String Info7 = pegawai.getText().toString();
try {
FileOutputStream fileOutputStream = new FileOutputStream(file);
fileOutputStream.write(Info1.getBytes());
fileOutputStream.write(Info2.getBytes());
fileOutputStream.write(Info3.getBytes());
fileOutputStream.write(Info4.getBytes());
fileOutputStream.write(Info5.getBytes());
fileOutputStream.write(Info6.getBytes());
fileOutputStream.write(Info7.getBytes());
fileOutputStream.close();
name.setText("");
numbTent.setText("");
pangkat.setText("");
date.setText("");
time.setText("");
penyelia.setText("");
pegawai.setText("");
Toast.makeText(getApplicationContext(),"Info Saved",Toast.LENGTH_LONG).show();
} catch (FileNotFoundException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
}
}
else
{
Toast.makeText(getApplicationContext(),"Storage not found",Toast.LENGTH_LONG).show();
}
}
Intent i=new Intent(MainActivity.this,ChecklistType.class);
startActivity(i);
}
activitymain.xml:
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:id="@+id/activity_main"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:paddingBottom="@dimen/activity_vertical_margin"
android:paddingLeft="@dimen/activity_horizontal_margin"
android:paddingRight="@dimen/activity_horizontal_margin"
android:paddingTop="@dimen/activity_vertical_margin"
tools:context="com.example.hp.semakoperasimampatansrc.MainActivity">
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="@string/title"
android:gravity="center"
android:textSize="26sp"
android:textStyle="bold"
android:id="@+id/title"
android:layout_alignParentTop="true"
android:layout_alignParentLeft="true"
android:layout_alignParentStart="true" />
<EditText
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:inputType="textPersonName"
android:id="@+id/name"
android:hint="@string/nama"
android:layout_marginTop="30dp"
android:layout_below="@+id/title"
android:layout_alignParentLeft="true"
android:layout_alignParentStart="true"
android:layout_alignParentRight="true"
android:layout_alignParentEnd="true" />
<EditText
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:inputType="text"
android:id="@+id/pangkat"
android:layout_below="@+id/numbTent"
android:layout_alignParentRight="true"
android:layout_alignParentEnd="true"
android:layout_alignParentLeft="true"
android:layout_alignParentStart="true"
android:hint="@string/pangkat" />
<EditText
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:inputType="textPersonName"
android:id="@+id/penyelia"
android:layout_below="@+id/date"
android:layout_alignParentRight="true"
android:layout_alignParentEnd="true"
android:layout_alignParentLeft="true"
android:layout_alignParentStart="true"
android:hint="@string/penyelia" />
<EditText
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:inputType="textPersonName"
android:id="@+id/pegawai"
android:layout_below="@+id/penyelia"
android:layout_alignParentRight="true"
android:layout_alignParentEnd="true"
android:layout_alignParentLeft="true"
android:layout_alignParentStart="true"
android:hint="@string/pegawai" />
<EditText
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:inputType="number"
android:id="@+id/numbTent"
android:hint="@string/NumTent"
android:layout_below="@+id/name"
android:layout_alignParentLeft="true"
android:layout_alignParentStart="true" />
<EditText
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:inputType="time"
android:ems="10"
android:id="@+id/editText"
android:hint="@string/time"
android:layout_centerVertical="true"
android:layout_alignParentRight="true"
android:layout_alignParentEnd="true" />
<EditText
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:inputType="datetime"
android:id="@+id/date"
android:hint="@string/date"
android:layout_below="@+id/pangkat"
android:layout_alignParentLeft="true"
android:layout_alignParentStart="true"
android:layout_toLeftOf="@+id/editText"
android:layout_toStartOf="@+id/editText" />
<Button
android:id="@+id/title_submit"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="@string/title_submit"
android:layout_alignParentBottom="true"
android:layout_alignParentRight="true"
android:layout_alignParentEnd="true"
android:layout_marginRight="10dp"
android:layout_marginEnd="10dp"
android:layout_marginBottom="10dp"
android:onClick="SaveInfo"/>
、私はクラッシュログを見つけることができ –
をあなたのクラッシュログを投稿? – Eizzuddin
@Eizzuddin [こちら](https://developer.android.com/studio/debug/am-logcat.html) –