Fixat lite i koden och fixade StringIndexOutOfBoundsException problemet. Och post delen i programmet öppnas nu men inget blir visat i spinnersna... Har nu lagt märke till att i aktivitet klassen så när man sparar en aktivitet och kategori så skrivs den gamla över
Här är koden:
Kod:
public class Post extends Activity{
Spinner spGolf, spFys, spMentalt, spOvrigt;//Spinners for categories
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.post);//SEt post to xml layout
String inputFile = "aktivitetInfo.txt";//Set upp the input files
String inputFile2 = "kategoriInfo.txt";
String input = "";//The input taken from files
String input2 = "";
//Setup spinners
spGolf = (Spinner) findViewById(R.id.spGolf);
spFys = (Spinner) findViewById(R.id.spFys);
spMentalt = (Spinner) findViewById(R.id.spMentalt);
spOvrigt= (Spinner) findViewById(R.id.spOvrigt);
//Holding the difrent categories and activits
List<String> kategori = new LinkedList<String>(); // Doubly-linked list
kategori = new ArrayList<String>();
List<String> aktiviteter = new LinkedList<String>(); // Doubly-linked list
aktiviteter = new ArrayList<String>();
try {
InputStream is = openFileInput(inputFile);
InputStream is2 = openFileInput(inputFile2);
InputStreamReader inputreader = new InputStreamReader(is);
InputStreamReader inputreader2 = new InputStreamReader(is2);
BufferedReader buffreader = new BufferedReader(inputreader);
BufferedReader buffreader2 = new BufferedReader(inputreader2);
String currentLine;
while((currentLine = buffreader.readLine()) != null){
input += currentLine;
}
currentLine = "";
while((currentLine = buffreader2.readLine()) != null){
input2 += currentLine;
}
int length = input.length();
int length2 = input2.length();
for(int i = 0; i < length; i++){
String word = "";
if(input.substring(i, i+1).equals("\n")){
aktiviteter.add(word);
word = "";
}
else
word.concat((input.substring(i, i+1)));
}
for(int i = 0; i < length2; i++){
String word = "";
if(input2.substring(i, i+1).equals("\n")){
kategori.add(word);
word = "";
}
else
word.concat((input2.substring(i, i+1)));
}
is.close();
is2.close();
} catch (FileNotFoundException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
}
List<String> golfList = new ArrayList<String>();
List<String> fysList = new ArrayList<String>();
List<String> mentaltList = new ArrayList<String>();
List<String> ovrigtList = new ArrayList<String>();
for(int i = 0; i < kategori.size(); i++){
if(kategori.get(i) == "Golf"){
golfList.add((String) aktiviteter.get(i));
}
else if(kategori.get(i) == "Fys"){
fysList.add((String) aktiviteter.get(i));
}
else if(kategori.get(i) == "Mentalt"){
mentaltList.add((String) aktiviteter.get(i));
}
else{
ovrigtList.add((String) aktiviteter.get(i));
}
}
ArrayAdapter<String> dataAdapter = new ArrayAdapter<String>(this,
android.R.layout.simple_spinner_item, golfList);
dataAdapter.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item);
spGolf.setAdapter(dataAdapter);
ArrayAdapter<String> dataAdapter2 = new ArrayAdapter<String>(this,
android.R.layout.simple_spinner_item, fysList);
dataAdapter2.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item);
spFys.setAdapter(dataAdapter2);
ArrayAdapter<String> dataAdapter3 = new ArrayAdapter<String>(this,
android.R.layout.simple_spinner_item, mentaltList);
dataAdapter3.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item);
spMentalt.setAdapter(dataAdapter3);
ArrayAdapter<String> dataAdapter4 = new ArrayAdapter<String>(this,
android.R.layout.simple_spinner_item, ovrigtList);
dataAdapter4.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item);
spOvrigt.setAdapter(dataAdapter4);
}
}
Kod:
public class Aktivitet extends Activity{
final String TAG = "MaRtIn";
Button skapa;
EditText etNamn;
String sNamn;
RadioGroup rgKategorier;
RadioButton rbGolf;
RadioButton rbFys;
RadioButton rbMentalt;
RadioButton rbOvrigt;
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.aktivitet);
initVariables();
initButtons();
}
private void initButtons() {
skapa.setOnClickListener(new View.OnClickListener() {
public void onClick(View v) {
int selectedId = rgKategorier.getCheckedRadioButtonId();
String output = " ";
String output2 = " ";
sNamn = etNamn.getText().toString();
String FILENAME = "aktivitetInfo.txt";
String FILENAME2 = "kategoriInfo.txt";
try {
OutputStreamWriter osw = new OutputStreamWriter(openFileOutput(FILENAME, 0));
OutputStreamWriter osw2 = new OutputStreamWriter(openFileOutput(FILENAME2, 0));
if(selectedId == rbGolf.getId()){
output += ("Golf\n");
osw2.write(output);}
else if(selectedId == rbFys.getId()){
output += ("Fys\n");
osw2.write(output);}
else if(selectedId == rbMentalt.getId()){
output +=("Mentalt\n");
osw2.write(output);}
else if(selectedId == rbOvrigt.getId()){
output+=("Ovrigt\n");
osw2.write(output);}
output2 += (sNamn + "\n");
osw.write(output2);
osw.close();
osw2.close();
} catch (FileNotFoundException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
Log.i(TAG,"output = " + output + "output2 = " + output2);
Intent openMainProgram = new Intent("martin.app.development.DSFACTIVITY");
startActivity(openMainProgram);
}
});
}
private void initVariables(){
etNamn = (EditText) findViewById(R.id.etNamn);
skapa = (Button) findViewById(R.id.bSkapa);
rgKategorier = (RadioGroup) findViewById(R.id.rgKategorier);
rbGolf = (RadioButton) findViewById(R.id.rbGolf);
rbFys = (RadioButton) findViewById(R.id.rbFys);
rbMentalt = (RadioButton) findViewById(R.id.rbMentalt);
rbOvrigt = (RadioButton) findViewById(R.id.rbOvrigt);
}
}