I'm wondering how I can access second item in my list? What I mean is that the string outputs this :
07-17 21:15:38.723: D/MY APP(15806): {feeling=joyful}
But I only want it to read "joyful"
Here is my code:
public class FeelingsMain extends Activity {
private static final String TAG = "MY APP";
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
initList();
ListView lv = (ListView) findViewById(R.id.pageLayout);
// design the listview with the adapter
SimpleAdapter simpleAdpt = new SimpleAdapter(this, feelingsList,
android.R.layout.simple_list_item_1,
new String[] { "feeling" }, new int[] { android.R.id.text1 });
lv.setAdapter(simpleAdpt);
lv.setOnItemClickListener(viewNeeds);
}
List<Map<String, String>> feelingsList = new ArrayList<Map<String, String>>();
private void initList() {
// populate the feelingsList
feelingsList.add(createFeeling("feeling", "wonderful"));
feelingsList.add(createFeeling("feeling", "content"));
feelingsList.add(createFeeling("feeling", "joyful"));
feelingsList.add(createFeeling("feeling", "tired"));
feelingsList.add(createFeeling("feeling", "gay"));
feelingsList.add(createFeeling("feeling", "sad"));
feelingsList.add(createFeeling("feeling", "amazing"));
}
private HashMap<String, String> createFeeling(String key, String name) {
HashMap<String, String> feeling = new HashMap<String, String>();
feeling.put(key, name);
return feeling;
}
OnItemClickListener viewNeeds = new OnItemClickListener() {
@Override
public void onItemClick(AdapterView<?> arg0, View arg1, int arg2,
long arg3) {
// TODO Auto-generated method stub
// create variable for database input
String feeling = feelingsList.get(arg2).toString();
Log.d(TAG, feeling);
Intent gotoNeeds = new Intent(FeelingsMain.this, Needs.class);
gotoNeeds.putExtra("aFeeling", feeling);
startActivity(gotoNeeds);
}
};
The string feeling which is equal to feelingsList is giving me the problem. Is there some method that allows me to access different parts of the array, the get method only seems to return both elements.