Moin Leute, ich habe einen Button bei dem auf Klick ein prompt geöffnet wird und man 3 Werte in 3 EditBoxen eingeben kann.
Ich habe zudem eine ListView welche die eingegebenen Werte anzeigen soll. So wie ich es momentan umgesetzt habe funktioniert es mit einem eingegebenen Wert einwandfrei, jedoch habe ich vor 2 bzw 3 Werte anzeigen zu lassen. Sobald ich einen zweiten Wert eintrage wird er in der nächsten ListView-Zeile eingetragen und nicht so wie ich es vorhabe in der nächsten Zeile(Wenn man sich den Code anschaut ist es auch logisch so wie es momentan abläuft!).
Hier mal der code:
public class MainActivity extends Activity implements OnClickListener {
private Button button1;
ListView lv;
private ArrayList<String> inputs;
private MyAdapter adapter;
private Dialog dialog;
public Activity context;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
inputs = new ArrayList<String>();
adapter = new MyAdapter();
lv = (ListView) findViewById(R.id.lV1);
lv.setAdapter(adapter);
findViewById(R.id.button1).setOnClickListener(new OnClickListener() {
@Override
public void onClick(View v) {
dialog = new Dialog(MainActivity.this);
dialog.setContentView(R.layout.prompts);
dialog.findViewById(R.id.button_cancel).setOnClickListener(MainActivity.this);
dialog.findViewById(R.id.button_ok).setOnClickListener(MainActivity.this);
dialog.show();
}
});
}
@Override
public boolean onCreateOptionsMenu(Menu menu) {
getMenuInflater().inflate(R.menu.main, menu);
return true;
}
private class MyAdapter extends BaseAdapter {
public MyAdapter() {
}
@Override
public int getCount() {
return inputs.size();
}
@Override
public Object getItem(int position) {
return inputs.get(position);
}
@Override
public long getItemId(int position) {
return position;
}
@Override
public View getView(int position, View convertView, ViewGroup parent) {
TextView view = (TextView) convertView;
if (null == convertView) {
view = new TextView(MainActivity.this);
}
view.setText(inputs.get(position));
return view;
}
}
@Override
public void onClick(View v) {
switch (v.getId()) {
case R.id.button_cancel:
dialog.dismiss();
break;
case R.id.button_ok:
String text = ((EditText) dialog.findViewById(R.id.kategorieInput)).getText().toString();
String text2 = ((EditText) dialog.findViewById(R.id.betragInput)).getText().toString();
if (null != text && 0 != text.compareTo("")){
inputs.add(text);
inputs.add(text2);
dialog.dismiss();
adapter.notifyDataSetChanged();
}
break;
}
}
}
Alles anzeigen
Ich könnte theoretisch inputs.add(text+"\n"+text2) machen um es in 2 verschiedenen Zeilen anzeigen zu lassen, das ist jedoch nicht mein Ziel.
Am Ende soll es von der Idee her so aussehen wie hier vorgestellt:
http://sogacity.com/how-to-mak…rrayadapter-for-listview/
Jeoch komme ich mit seiner Lösung nicht klar und hoffe das mir hier jemand helfen kann das Problem anhand meines Codes zu lösen.
Mfg
septix