Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/328.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java ListView未导航到其他活动_Java_Android_Android Layout_Android Intent_Android Activity - Fatal编程技术网

Java ListView未导航到其他活动

Java ListView未导航到其他活动,java,android,android-layout,android-intent,android-activity,Java,Android,Android Layout,Android Intent,Android Activity,我试图让我的列表视图根据已点击的特定项目导航到不同的活动。我知道代码是需要的,但我不知道我需要将代码更改为什么 package com.apptacularapps.exitsexpertlondonlite; import android.app.ActionBar; import android.app.ListActivity; import android.content.Intent; import android.graphics.Color; import android.gra

我试图让我的列表视图根据已点击的特定项目导航到不同的活动。我知道代码是需要的,但我不知道我需要将代码更改为什么

package com.apptacularapps.exitsexpertlondonlite;

import android.app.ActionBar;
import android.app.ListActivity;
import android.content.Intent;
import android.graphics.Color;
import android.graphics.drawable.ColorDrawable;
import android.os.Bundle;
import android.text.Html;
import android.view.View;
import android.widget.AdapterView;
import android.widget.ListView;

import java.util.ArrayList;


    public class WC_line extends ListActivity {

        ArrayList<Item> items = new ArrayList<Item>();

        @Override
        public void onCreate(Bundle savedInstanceState) {
            super.onCreate(savedInstanceState);

            items.add(new EntryItem("Bank", "Fare zone 1"));
            items.add(new EntryItem("Waterloo", "Fare zone 1"));

            EntryAdapter adapter = new EntryAdapter(this, items);

            setListAdapter(adapter);
        }


            @Override
            public void onListItemClick(AdapterView<?> adapterView, View view, int position, long id){
                //When clicked, go to specific activity
                if (position == 0) {
                    //code specific to first list item
                    Intent myIntent = new Intent(view.getContext(), activity_1.class);
                    startActivityForResult(myIntent, 0);
                }
            };
    }
package com.apptacularaps.exitexpertlondonlite;
导入android.app.ActionBar;
导入android.app.ListActivity;
导入android.content.Intent;
导入android.graphics.Color;
导入android.graphics.drawable.ColorDrawable;
导入android.os.Bundle;
导入android.text.Html;
导入android.view.view;
导入android.widget.AdapterView;
导入android.widget.ListView;
导入java.util.ArrayList;
公共类WC_行扩展ListActivity{
ArrayList items=新建ArrayList();
@凌驾
创建时的公共void(Bundle savedInstanceState){
super.onCreate(savedInstanceState);
添加(新入口项目(“银行”、“票价区1”);
增加(新入口项目(“滑铁卢”、“票价区1”);
EntryAdapter=新的EntryAdapter(此,项);
setListAdapter(适配器);
}
@凌驾
public void onListItemClick(AdapterView AdapterView、视图视图、整型位置、长id){
//单击后,转到特定活动
如果(位置==0){
//特定于第一个列表项的代码
Intent myIntent=newintent(view.getContext(),activity_1.class);
startActivityForResult(myIntent,0);
}
};
}

XML

@覆盖错误

package com.apptacularapps.exitsexpertlondonlite;

import android.app.ListActivity;
import android.content.Intent;
import android.os.Bundle;
import android.view.View;
import android.widget.AdapterView;
import android.widget.ListView;

import java.util.ArrayList;


public class WC_line extends ListActivity {

    ArrayList<Item> items = new ArrayList<Item>();

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        ListView list = getListView();
        setContentView(R.layout.activity_wc_line);

        items.add(new EntryItem("Bank", "Fare zone 1"));
        items.add(new EntryItem("Waterloo", "Fare zone 1"));

        EntryAdapter adapter = new EntryAdapter(this, items);

        setListAdapter(adapter);
    }

    @Override
    public void onListItemClick(AdapterView<?> adapterView, View view, int position, long id){
        //When clicked, go to specific activity
        if (position == 0) {
            //code specific to first list item
            Intent myIntent = new Intent(view.getContext(), WC_Bank.class);
            startActivityForResult(myIntent, 0);
        }
    };
}
package com.apptacularaps.exitexpertlondonlite;
导入android.app.ListActivity;
导入android.content.Intent;
导入android.os.Bundle;
导入android.view.view;
导入android.widget.AdapterView;
导入android.widget.ListView;
导入java.util.ArrayList;
公共类WC_行扩展ListActivity{
ArrayList items=新建ArrayList();
@凌驾
创建时受保护的void(Bundle savedInstanceState){
super.onCreate(savedInstanceState);
ListView list=getListView();
setContentView(R.layout.activity\u wc\u行);
添加(新入口项目(“银行”、“票价区1”);
增加(新入口项目(“滑铁卢”、“票价区1”);
EntryAdapter=新的EntryAdapter(此,项);
setListAdapter(适配器);
}
@凌驾
public void onListItemClick(AdapterView AdapterView、视图视图、整型位置、长id){
//单击后,转到特定活动
如果(位置==0){
//特定于第一个列表项的代码
Intent myIntent=newintent(view.getContext(),WC_Bank.class);
startActivityForResult(myIntent,0);
}
};
}


正如您所看到的,您的
@Override
上有一个错误,可能是因为您的
onListItemClick
不正确,所以没有这种方法


您需要
ListView、View、int、long
作为参数

尝试在super.onCreate之后添加它

GetListView()


如果您要扩展ListActivity,那么必须实现一个方法

@Override
    protected void onListItemClick(ListView l, View v, int position, long id) {
        // TODO Auto-generated method stub
        super.onListItemClick(l, v, position, id);
        String list_item=l.getItemAtPosition(position).toString();
        Intent i=new Intent(MainActivity.this,List1.class);
        i.putExtra("list_item", list_item);
        startActivity(i);
    }
获取列表项中的字符串后,您可以对其执行任何操作

如果您正在使用扩展活动

ListView lv;
lv=(ListView)findviewbyid(R.id.listview);
 lv.setOnItemClickListener(new OnItemClickListener() {

            @Override
            public void onItemClick(AdapterView<?> arg0, View arg1, int arg2,
                    long arg3) {
                // TODO Auto-generated method stub
                String list_item=lv.getItemAtPosition(arg2).toString();
            }
        });
ListView-lv;
lv=(ListView)findviewbyid(R.id.ListView);
lv.setOnItemClickListener(新的OnItemClickListener(){
@凌驾
公共链接(AdapterView arg0、视图arg1、内部arg2、,
长arg3){
//TODO自动生成的方法存根
String list_item=lv.getItemAtPosition(arg2.toString();
}
});

现在,这取决于您如何使用listview数据。

那么您得到了什么错误?您是否已将listview的xml声明为@android:list?我不确定您的意思。这就是我在XML中所做的。您不应该使用这种上下文:view.getContext()读取ListActivity的文档。你会知道@Mike的意思。试过了,但我得到了这个错误
错误:(24,9)找不到符号方法GetListView()
这样做不会有什么不好的,应该是ListView list=GetListView();好的,我已经这样做了,但是@Override错误仍然存在(检查上面标题为@Override error的部分)删除onlistitemclick函数。相反,在启动listview后,在设置适配器lv.setOnItemClickListener(新的OnItemClickListener(){@Override public boolean onItemClick(AdapterView父项、视图视图、int位置、长id){//您的代码,单击listview的此项时会发生什么。返回true;});
List1
应该是我的列表视图的id吗?您没有将xml列表视图绑定到代码,这就是它没有显示任何内容的原因。