我正在尝试使用listview通过点击它的项目来启用另一个活动,但我不能#39;我刚刚收到错误。 这是代码。
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);
}
}
答案 0 :(得分:0)
我不确定您的ArrayAdapter第二个参数,您可以尝试:
ArrayAdapter adapter = ArrayAdapter<String>(this, android.R.layout.simple_list_item_1, value);
第二个参数定义列表中每个元素的布局。 (在这种情况下是一个简单的项目)。
然后你应该在列表上设置一个项目点击监听器:
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
}
});
开始使用活动:
Intent intent = new Intent(this, <your activity class here>.class);
startActivity(intent);
答案 1 :(得分:0)
这会对你有所帮助
// 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);
}
});