Android 原因:java.lang.NullPointerException:尝试调用虚拟方法';无效的关于空对象引用

Android 原因:java.lang.NullPointerException:尝试调用虚拟方法';无效的关于空对象引用,android,Android,我浏览了stack overflow中的一些问题,但它并没有解决我的问题 这是我的密码 public class MenuListActivity extends ListActivity { String MenuNames[] = {"Consultation", "Medicine", "Diseases", "Doctor"}; protected void onCreateView(Bundle savedInstanceState) { super.onCreate(s

我浏览了stack overflow中的一些问题,但它并没有解决我的问题

这是我的密码

   public class MenuListActivity extends ListActivity {
String MenuNames[] = {"Consultation", "Medicine", "Diseases", "Doctor"};
protected void onCreateView(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_menu_list);
    ArrayAdapter<String> adapter = new ArrayAdapter<String>(this, android.R.layout.simple_list_item_1, MenuNames);
    final ListView lv = (ListView) findViewById(R.id.listView1);

    lv.setAdapter(adapter);

    lv.setOnItemClickListener(new OnItemClickListener() {
        public void onItemClick(AdapterView<?> parent, View v,
                int position, long id) {

            if(position == 1) {
                //code specific to first list item    
                Intent myIntent = new Intent(v.getContext(), ConsultationActivity.class);
                startActivity(myIntent);
            }


        }

    }
     );

}
XML文件

    <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:paddingBottom="@dimen/activity_vertical_margin"
android:paddingLeft="@dimen/activity_horizontal_margin"
android:paddingRight="@dimen/activity_horizontal_margin"
android:paddingTop="@dimen/activity_vertical_margin"
tools:context="com.capstone.medicinehealthguide.MenuListActivity" >

<ListView
    android:id="@+id/listView1"
    android:layout_width="match_parent"
    android:layout_height="wrap_content" >

</ListView>


我正在尝试制作一个具有listview的应用程序,当您单击它时,另一个活动将打开

,然后再调用
findByViewId
视图必须膨胀。 你要做的是。。将此代码从
onCreate
方法移动到“onCreateView”方法。 在
onCreateView
方法中,将其放置在
setContentView()
行下方

ArrayAdapter<String> adapter = new ArrayAdapter<String>(this, android.R.layout.simple_list_item_1, MenuNames);

final ListView lv = (ListView) getListView().findViewById(R.id.listView1);

lv.setAdapter(adapter);

lv.setOnItemClickListener(new OnItemClickListener() {
    public void onItemClick(AdapterView<?> parent, View v,
            int position, long id) {

        if(position == 1) {
            //code specific to first list item    
            Intent myIntent = new Intent(v.getContext(), ConsultationActivity.class);
            startActivity(myIntent);
        }
}
ArrayAdapter adapter=新的ArrayAdapter(这是android.R.layout.simple\u list\u item\u 1的菜单);
最终ListView lv=(ListView)getListView().findViewById(R.id.listView1);
低压设置适配器(适配器);
lv.setOnItemClickListener(新的OnItemClickListener(){
public void onItemClick(AdapterView父视图、视图v、,
内部位置,长id){
如果(位置==1){
//特定于第一个列表项的代码
Intent myIntent=newintent(v.getContext(),ConsultationActivity.class);
星触觉(myIntent);
}
}

您实际上使用的是错误的:

final ListView lv = (ListView) getListView().findViewById(R.id.listView1);
在这里:

问题是,在您的列表视图中,您正在获取列表视图,然后尝试从列表视图获取列表视图


尝试上面的选项,从内容视图中获取列表视图。

哪里是
setContentView()
?什么是
getListView()
?我再次编辑了我的代码。你能发布
活动菜单\u列表.xml的内容吗
我做了你告诉我的事情,它不再崩溃,但它没有显示列表视图要使用
setListAdapter
你应该扩展
列表活动
,但你已经扩展了
活动
。请参阅上面编辑的代码:-/It表示,“适配器无法解析为变量”。:/@Red_X您必须清除适配器不要忘记第一行
ArrayAdapter adapter=new ArrayAdapter(…
我已经声明了,但仍然看不到列表视图:(我将更新我的代码您发布的两个选项是相同的;这是您想要的吗?(a)已删除多余的一个。
final ListView lv = (ListView) getListView().findViewById(R.id.listView1);
final ListView lv = (ListView) findViewById(R.id.listView1);