?
Solved

ListViews on Android

Posted on 2011-02-22
4
Medium Priority
?
815 Views
Last Modified: 2012-05-11
Hey,

        I was trying to use ListViews to show a menu, and when one of the options was clicked, jump to a different activity, and contain some variables so the activity can carry out the operation.

I did get the ListView to work, because it was just placing an ArrayList inside the adapter, and it would work fine... but I'm having problems making it switch to the new activity properly...

I tried searching for tutorials on this, but I don't exactly know what I'm looking for...

Appreciate any help on this!
0
Comment
Question by:errang
[X]
Welcome to Experts Exchange

Add your voice to the tech community where 5M+ people just like you are talking about what matters.

  • Help others & share knowledge
  • Earn cash & points
  • Learn & ask questions
4 Comments
 
LVL 47

Expert Comment

by:for_yan
ID: 34957151
Perhaps you'd post some part of your code and be a little bit more specific
on what you observe with regards to the undesired behavior
0
 

Author Comment

by:errang
ID: 34957522
I can't post the entire code... but I've rewritten it to a "hello world" level problem, so I can understand things more clearly.

import java.util.ArrayList;

import android.app.Activity;
import android.os.Bundle;
import android.widget.ArrayAdapter;
import android.widget.ListView;
import android.widget.TextView;

public class Vehicle extends Activity {
	public void onCreate(Bundle savedBundleInstance) {
		super.onCreate(savedBundleInstance);
		setContentView(R.layout.vehicle);
		ArrayList<String> strArr = new ArrayList<String>();

	   	strArr.add("one");
		strArr.add("two");
		strArr.add("three");
		strArr.add("four");

		TextView tv = new TextView(this);
		tv.setText("TestView");
		ListView lv = (ListView)findViewById(R.id.listView);
		lv.addHeaderView(tv);
		lv.setAdapter(new ArrayAdapter<String>(this, android.R.layout.simple_list_item_1, strArr));
	}
}

Open in new window


I figured out how to figure out what choice was clicked... but I have no idea how to launch a different activity that would do what its supposed to do.
0
 
LVL 5

Accepted Solution

by:
aciuica earned 1000 total points
ID: 34958855
You can search for startActivity
For example here is a sample:
http://www.androidcompetencycenter.com/2009/03/tutorial-how-to-start-a-new-activity/#
and first comment show also a posibility to pass parameters to sarted activity.
0
 
LVL 17

Assisted Solution

by:Dejan Pažin
Dejan Pažin earned 1000 total points
ID: 34960533
Add this to your code:

lv.setClickable(true);
lv.setOnItemClickListener(new AdapterView.OnItemClickListener() {
  @Override
  public void onItemClick(AdapterView<?> arg0, View arg1, int position, long arg3) {
    Object clickedItem = lv.getItemAtPosition(position);
    // Depending on the clicked item value, open new activity:
    Intent selectedIntent = new Intent(Vehicle.this, SomeOtherActivity.class);
    Vehicle.this.startActivity(selectedIntent);    
  }
});
0

Featured Post

Get real performance insights from real users

Key features:
- Total Pages Views and Load times
- Top Pages Viewed and Load Times
- Real Time Site Page Build Performance
- Users’ Browser and Platform Performance
- Geographic User Breakdown
- And more

Question has a verified solution.

If you are experiencing a similar issue, please ask a related question

In this post we will learn how to connect and configure Android Device (Smartphone etc.) with Android Studio. After that we will run a simple Hello World Program.
If you use the Google Now Launcher, as an aftermarket add on, have a Samsung Note 5 and are worried about power consumption be wary of using the ultra power saving mode.  Here is what happened to me when I made the mistake of trying this out...
The viewer will learn how to implement Singleton Design Pattern in Java.
This tutorial explains how to use the VisualVM tool for the Java platform application. This video goes into detail on the Threads, Sampler, and Profiler tabs.
Suggested Courses
Course of the Month11 days, 4 hours left to enroll

770 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question