当用户点击listview
中的某个项目时,我尝试启动活动。在下面的适配器中,我在intent
和onClick中遇到问题。什么可能导致失败?
更新后代码丢失}};}}字符就像编辑我的代码和
我的代码 return rowView;
listView.setOnItemClickListener(new OnItemClickListener() {
@Override
public void onItemClick(AdapterView<?> parent, View view,
int position, long id) {
int itemPosition = position;
String itemValue= (String)listView.getItemAtPosition(position);
if (itemValue.equals("1")){
Intent intent = new Intent(context, Spain.class);
context.startActivity(intent);}
else if (itemValue.equals("2")) {
Intent intent = new Intent(context, As.class);
context.startActivity(intent);}
else if(itemValue.equals("3")){
Intent intent = new Intent(context, Ma.class);
context.startActivity(intent);}
else if(itemValue.equals("4")) {
Intent intent = new Intent(context, Me.class);
context.startActivity(intent);}
else if (itemValue.equals("5")){
Intent intent = new Intent(context, Gr.class);
context.startActivity(intent);}
else if(itemValue.equals("6")) {
Intent intent = new Intent(context, Th.class);
context.startActivity(intent);}
else if(itemValue.equals("7")) {
Intent intent = new Intent(context, Ukr.class);
context.startActivity(intent);}
else if (itemValue.equals("8")){
Intent intent = new Intent(context, Po.class);
context.startActivity(intent);}
else if (itemValue.equals("9")) {
Intent intent = new Intent(context, France.class);
context.startActivity(intent);}
else if (itemValue.equals("10")){
Intent intent = new Intent(context, UK.class);
context.startActivity(intent);}
else if (itemValue.equals("11")) {
Intent intent = new Intent(context, Ksa.class);
context.startActivity(intent);}
else if (itemValue.equals("12")) {
Intent intent = new Intent(context, Ger.class);
context.startActivity(intent);}
else if (itemValue.equals("13")) {
Intent intent = new Intent(context, Canda.class);
context.startActivity(intent);}
else if (itemValue.equals("14")){
Intent intent = new Intent(context, Turkey.class);
context.startActivity(intent);}
else if (itemValue.equals("15")) {
Intent intent = new Intent(context, Italy.class);
context.startActivity(intent);}
else if (itemValue.equals("16")) {
Intent intent = new Intent(context, Russia.class);
context.startActivity(intent);}
else if (itemValue.equals("17")) {
Intent intent = new Intent(context, China.class);
context.startActivity(intent);}
else if (itemValue.equals("18")) {
Intent intent = new Intent(context, Usa.class);
context.startActivity(intent);}
})};}
答案 0 :(得分:0)
从
更改您的代码Intent intent = new Intent(this, Ksa.class);
startActivity(intent);
到
Intent intent = new Intent(context, Ksa.class);
context.startActivity(intent);
在适配器类中,为什么要声明listview并调用onItemClickListener
方法?您还没有初始化listView。
注意: 当您从适配器类中单击项目时,此代码将起作用。
答案 1 :(得分:0)
您的代码中存在一些问题
在这一行UPDATE db_scheduling.tbl_student
SET section ='a'
WHERE yrlevel IN (
SELECT id FROM (
SELECT yrlevel FROM db_scheduling.tbl_student
ORDER BY grade DESC
LIMIT 5, 5
) tmp
);
中,您试图从List View中获取一个未初始化的项目,并且您没有使用在适配器中初始化的值。理想情况下,该行应该如下所示
String itemValue= (String) listView.getItemAtPosition(position);
在String itemValue=values[position]
中if和else部分的代码执行相同的工作,您应该使用OnItemClickListener
代替context
。