I am trying to switch on another activity using listview by clicking on it's item but I couldn't I just got an error. Here is the code.
package com.example.listview;
import android.os.Bundle;
import android.app.Activity;
import android.content.Intent;
import android.view.Menu;
import android.widget.AdapterView;
import android.widget.AdapterView.OnItemClickListener;
import android.widget.ArrayAdapter;
import android.widget.ListView;
import android.widget.Toast;
public class MainActivity extends Activity {
ListView listView ;
String[] value = {"firstactivity", "secondactivity"};
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
ArrayAdapter adapter = new ArrayAdapter<String>(this,
R.layout.activity_listview, value);
ListView listView = (ListView) findViewById(R.id.activity);
listView.setAdapter(adapter);
}
}
I'm not sure about your ArrayAdapter second parameter, you can try:
ArrayAdapter adapter = ArrayAdapter<String>(this, android.R.layout.simple_list_item_1, value);
The second parameter defines the layout for each of the elements of your list. (A simple item in this case).
Then you should set an item click listener on your list:
listView.setOnItemClickListener(new OnItemClickListener() {
void onItemClick(AdapterView<?> parent, View view, int position, long id)
{
if(position == 1)
//start activity 1
else if(position == 2)
//start activity 2
}
});
To start an Activity use:
Intent intent = new Intent(this, <your activity class here>.class);
startActivity(intent);
This will help you
// Create adpater
ArrayAdapter<String> adapter = new ArrayAdapter<String>(this,
android.R.layout.simple_list_item_1, android.R.id.text1, value);
// Assign adapter to ListView
listView.setAdapter(adapter);
// ListView Item Click Listener
listView.setOnItemClickListener(new OnItemClickListener() {
@Override
public void onItemClick(AdapterView<?> parent, View view,
int position, long id) {
// ListView Clicked item index
int itemPosition = position;
// ListView Clicked item value
String itemValue = (String) listView.getItemAtPosition(position);
Intent intent = new Intent(this, <your activity class here>.class);
startActivity(intent);
}
});
The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.