我创建了一个包含多个活动的应用程序,每个活动都包含一个复选框列表,每个复选框都包含一个特定的检查时间。应用程序通过单击按钮获取布局视图,并添加复选框的值并显示值。我想知道是否有一种方法可以在单击按钮后将清单状态保存为文件,以便以后查看。该文件应显示清单并显示已检查或未选中的框。我已经尝试将其保存为图像,但由于列表包含在ScrollView中并且我的手机屏幕非常小,因此仅捕获屏幕上可见的列表部分。我希望最终能够在计算机上打开文件并将其转换为excel电子表格,但这不必在代码中。
这是我的活动:
import android.app.Activity;
import android.os.Bundle;
import android.view.View;
import android.widget.CheckBox;
import android.widget.Toast;
public class InputsActivity extends Activity {
public void onCreate(Bundle savedInstanceState {
super.onCreate(savedInstanceState);
setContentView(R.layout.inputs);
}
public void DisplayScore(View view){
float score= (float) Math.round(CalculateScore(view)*10)/10;
Toast.makeText(InputsActivity.this,"Input score is " +score+"%.",Toast.LENGTH_SHORT).show();
}
private double CalculateScore(View view) {
double percent= (AddChecks(view) + 2)*100/12;
return percent;
}
private double AddChecks(View view) {
double sum=0;
for(int i=1; i<=10; i++) {
String checkId="value" + i;
int resID= getResources().getIdentifier(checkId,"id","com.example.ARTHChekclist");
CheckBox check= (CheckBox) findViewById(resID);
if (check.isChecked()) {
sum++;
}
}
return sum;
}
}
这是我的xml布局
?xml version="1.0" encoding="utf-8"?>
<ScrollView xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@+id/scrollView1"
android:layout_width="match_parent"
android:layout_height="wrap_content"
>
<LinearLayout
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical" >
<CheckBox
android:id="@+id/checkBox1"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="checkbox1" />
<CheckBox
android:id="@+id/checkBox2"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="checkbox1" />
<CheckBox
android:id="@+id/checkBox3"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="checkbox1" />
<CheckBox
android:id="@+id/checkBox4"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="checkbox1" />
<CheckBox
android:id="@+id/checkBox5"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="checkbox1" />
<CheckBox
android:id="@+id/checkBox6"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="checkbox1" />
<CheckBox
android:id="@+id/value1"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="checkbox1" />
<CheckBox
android:id="@+id/checkBox8"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="checkbox1" />
<CheckBox
android:id="@+id/checkBox9"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="checkbox1" />
<CheckBox
android:id="@+id/checkBox10"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="checkbox1" />
<CheckBox
android:id="@+id/checkBox11"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="checkbox1" />
<CheckBox
android:id="@+id/checkBox12"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="checkbox1" />
<CheckBox
android:id="@+id/checkBox13"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="checkbox1" />
<CheckBox
android:id="@+id/checkBox14"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="checkbox1" />
<CheckBox
android:id="@+id/checkBox15"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="checkbox1" />
<CheckBox
android:id="@+id/checkBox16"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="checkbox1" />
<CheckBox
android:id="@+id/value7"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="checkbox1" />
<CheckBox
android:id="@+id/checkBox18"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="checkbox1" />
<CheckBox
android:id="@+id/checkBox19"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="checkbox1" />
<CheckBox
android:id="@+id/value2"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="checkbox1" />
<CheckBox
android:id="@+id/checkBox22"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="checkbox1" />
<CheckBox
android:id="@+id/checkBox23"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="checkbox1" />
<CheckBox
android:id="@+id/value3"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="checkbox1" />
<CheckBox
android:id="@+id/value4"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="checkbox1" />
<CheckBox
android:id="@+id/checkBox26"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="checkbox1" />
<CheckBox
android:id="@+id/checkBox27"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="checkbox1" />
<CheckBox
android:id="@+id/checkBox28"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="checkbox1" />
<CheckBox
android:id="@+id/checkBox29"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="checkbox1" />
<CheckBox
android:id="@+id/checkBox30"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="checkbox1" />
<CheckBox
android:id="@+id/checkBox31"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="checkbox1" />
<CheckBox
android:id="@+id/value5"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="checkbox1" />
<CheckBox
android:id="@+id/value6"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="checkbox1" />
<CheckBox
android:id="@+id/checkBox34"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="checkbox1" />
<CheckBox
android:id="@+id/checkBox35"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="checkbox1" />
<CheckBox
android:id="@+id/value8"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="checkbox1" />
<CheckBox
android:id="@+id/value9"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="checkbox1" />
<CheckBox
android:id="@+id/checkBox36"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="checkbox1" />
<CheckBox
android:id="@+id/checkBox37"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="checkbox1" />
<CheckBox
android:id="@+id/checkBox38"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="checkbox1" />
<CheckBox
android:id="@+id/value10"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="checkbox1" />
<CheckBox
android:id="@+id/checkBox40"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="checkbox1" />
<Button
android:id="@+id/button1"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Submit"
android:onClick="DisplayScore" />
</LinearLayout>
</ScrollView>
谢谢!
答案 0 :(得分:0)
您可以使用SharedPreferences将数据保存到文件。 http://developer.android.com/reference/android/content/SharedPreferences.html
文件本身是一个XML,您可以在以后轻松查看,甚至转换为您想要的任何内容。
答案 1 :(得分:0)
我肯定会使用共享的prefs,因为Udinic建议。这样的事情应该有用......
SharedPreferences storedPrefs = PreferenceManager
.getDefaultSharedPreferences(getActivity().getApplicationContext());
SharedPreferences.Editor editor = storedPrefs.edit();
editor.putBoolean("YOUR_TAG", true);
editor.commit();