Android 为什么我的程序没有运行?

Android 为什么我的程序没有运行?,android,Android,下面是ListFragment的程序。它不显示任何错误,但不运行。错误日志显示消息致命异常:Main…当我在emulator上打开时,它显示“不幸的是listfragment2已停止” Frament1.java代码 package com.example.listfragmentexample2; import android.annotation.TargetApi; import android.app.ListFragment; import android.os.Build; imp

下面是ListFragment的程序。它不显示任何错误,但不运行。错误日志显示消息
致命异常:Main…
当我在emulator上打开时,它显示“不幸的是listfragment2已停止”

Frament1.java代码

package com.example.listfragmentexample2;

import android.annotation.TargetApi;
import android.app.ListFragment;
import android.os.Build;
import android.os.Bundle;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import android.widget.ArrayAdapter;
import android.widget.ListView;
import android.widget.Toast;

public class Fragment1 extends ListFragment {
    String[] presidents = {
            "Dwight D. Eisenhower",
            "John F. Kennedy",
            "Lyndon B. Johnson",
            "Richard Nixon",
            "Gerald Ford",
            "Jimmy Carter",
            "Ronald Reagan",
            "George H. W. Bush",
            "Bill Clinton",
            "George W. Bush",
            "Barack Obama"
    };
    @Override
    public View onCreateView(LayoutInflater inflater, 
            ViewGroup container, Bundle savedInstanceState) { 
        return inflater.inflate(R.layout.fragment1, container, false);
    }
    @Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setListAdapter(new ArrayAdapter<String>(getActivity(),
                android.R.layout.simple_list_item_1, presidents));
    }

    public void onListItemClick(ListView parent, View v, 
            int position, long id) 
    { 
        Toast.makeText(getActivity(), 
                "You have selected " + presidents[position], 
                Toast.LENGTH_SHORT).show();
    } 
}

您需要在onCreateView方法之后设置适配器

        public class Fragment1 extends ListFragment {
     String[] presidents = {
      "Dwight D. Eisenhower",
     "John F. Kennedy",
       "Lyndon B. Johnson",
        "Richard Nixon",
       "Gerald Ford",
        "Jimmy Carter",
      "Ronald Reagan",
      "George H. W. Bush",
      "Bill Clinton",
      "George W. Bush",
      "Barack Obama"
         };
        @Override
     public View onCreateView(LayoutInflater inflater, 
      ViewGroup container, Bundle savedInstanceState) { 
     return inflater.inflate(R.layout.fragment1, container, false);

        }

    @Override
    protected void onStart() {
 setListAdapter(new ArrayAdapter<String>(getActivity(),
       android.R.layout.simple_list_item_1, presidents));

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

          }

        public void onListItemClick(ListView parent, View v, 
         int position, long id) 
          { 
            Toast.makeText(getActivity(), 
         "You have selected " + presidents[position], 
            Toast.LENGTH_SHORT).show();
            } 
            }
公共类Fragment1扩展了ListFragment{
字符串[]总统={
“德怀特·D·艾森豪威尔”,
“约翰·F·肯尼迪”,
“林登·B·约翰逊”,
“理查德·尼克松”,
“杰拉尔德·福特”,
“吉米·卡特”,
“罗纳德·里根”,
“乔治·H·W·布什”,
“比尔·克林顿”,
“乔治·W·布什”,
“巴拉克·奥巴马”
};
@凌驾
创建视图上的公共视图(更平坦的充气机,
视图组容器,捆绑包savedInstanceState){
返回充气机。充气(R.layout.fragment1,容器,假);
}
@凌驾
受保护的void onStart(){
setListAdapter(新的ArrayAdapter(getActivity()),
android.R.layout.simple_list_item_1,总统);
super.onStart();
}
@凌驾
创建时的公共void(Bundle savedInstanceState){
super.onCreate(savedInstanceState);
}
public void onListItemClick(列表视图父视图、视图v、,
内部位置,长id)
{ 
Toast.makeText(getActivity(),
“您已选择”+总裁[职位],
吐司。长度(短)。show();
} 
}

我想你忘了添加
setContentView(R.layout.activity\u main)onCreate()
方法中的code>

Caused by: java.lang.ClassNotFoundException: com.example.listfragmentexample2.MainActivity
确保清单文件和代码中的包和类名一致

Manifest说应该有一个名为
com.example.listfragmentexample2.MainActivity
的类,但在二进制软件包中找不到它。如果你确定你有它,清理和重建的情况下有一个构建故障之前

更新问题的更新答案:

com.example.listfragmentexample2.Fragment1 cannot be cast to android.app.Activity

您的
片段1
在清单中声明为
活动
,但它不
扩展活动
。只有活动应列为清单中的活动。碎片需要一个活动来承载它们。

并格式化代码(如果可能):
它不显示任何错误
错误日志显示消息致命异常:Main…
在模拟器上显示“不幸的listfragment2已停止”
@ArtooDetoo代码格式已完成:)@Kedarnath:太好了+1@Artoo它没有显示任何错误,但显示异常…您在onCreate中调用setAdater方法,因为这是一个片段,所以需要在onCreateView之后或内部调用。读取片段生命周期
        public class Fragment1 extends ListFragment {
     String[] presidents = {
      "Dwight D. Eisenhower",
     "John F. Kennedy",
       "Lyndon B. Johnson",
        "Richard Nixon",
       "Gerald Ford",
        "Jimmy Carter",
      "Ronald Reagan",
      "George H. W. Bush",
      "Bill Clinton",
      "George W. Bush",
      "Barack Obama"
         };
        @Override
     public View onCreateView(LayoutInflater inflater, 
      ViewGroup container, Bundle savedInstanceState) { 
     return inflater.inflate(R.layout.fragment1, container, false);

        }

    @Override
    protected void onStart() {
 setListAdapter(new ArrayAdapter<String>(getActivity(),
       android.R.layout.simple_list_item_1, presidents));

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

          }

        public void onListItemClick(ListView parent, View v, 
         int position, long id) 
          { 
            Toast.makeText(getActivity(), 
         "You have selected " + presidents[position], 
            Toast.LENGTH_SHORT).show();
            } 
            }
Caused by: java.lang.ClassNotFoundException: com.example.listfragmentexample2.MainActivity
com.example.listfragmentexample2.Fragment1 cannot be cast to android.app.Activity