0

当我运行程序时,我的模拟器停止

第一个主类名称是 MainActivity.java

public class MainActivity extends Activity {

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);

        Button b= (Button) findViewById(R.id.button1);
        b.setOnClickListener(new OnClickListener() {

            @Override
            public void onClick(View v) {
                startActivity(new Intent(MainActivity.this, AndroidExplorer.class));

            }
        });

    }

第二类名称是 AndroidExplorer.java

public class AndroidExplorer extends ListActivity 
{

    private List<String> item = null;
    private List<String> path = null;
    private String root="/";
    private TextView myPath;

    /** Called when the activity is first created. */
    @Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.main);
        myPath = (TextView)findViewById(R.id.path);
        getDir(root);
    }

    private void getDir(String dirPath)
    {
        myPath.setText("Location: " + dirPath);

        item = new ArrayList<String>();
        path = new ArrayList<String>();

        File f = new File(dirPath);
        File[] files = f.listFiles();

        if(!dirPath.equals(root))
        {

            item.add(root);
            path.add(root);

            item.add("../");
            path.add(f.getParent());

        }

        for(int i=0; i < files.length; i++)
        {
                File file = files[i];
                path.add(file.getPath());
                if(file.isDirectory())
                    item.add(file.getName() + "/");
                else
                    item.add(file.getName());
        }

        ArrayAdapter<String> fileList =
            new ArrayAdapter<String>(this, R.layout.row, item);
        setListAdapter(fileList);
    }

    @Override
    protected void onListItemClick(ListView l, View v, int position, long id) {

        File file = new File(path.get(position));

        if (file.isDirectory())
        {
            if(file.canRead())
                getDir(path.get(position));
            else
            {
                new AlertDialog.Builder(this)
                .setIcon(R.drawable.icon)
                .setTitle("[" + file.getName() + "] folder can't be read!")
                .setPositiveButton("OK", 
                        new DialogInterface.OnClickListener() {

                            @Override
                            public void onClick(DialogInterface dialog, int which) {
                                // TODO Auto-generated method stub
                            }
                        }).show();
            }
        }
        else
        {
            new AlertDialog.Builder(this)
                .setIcon(R.drawable.icon)
                .setTitle("[" + file.getName() + "]")
                .setPositiveButton("OK", 
                        new DialogInterface.OnClickListener() {

                            @Override
                            public void onClick(DialogInterface dialog, int which) {
                                // TODO Auto-generated method stub
                            }
                        }).show();
        }
    }}

日志输出:

 06-12 00:40:17.718: E/AndroidRuntime(12701): FATAL EXCEPTION: main
 06-12 00:40:17.718: E/AndroidRuntime(12701): java.lang.RuntimeException: Unable to start activity ComponentInfo{com.fyp.ftpfilesharing/com.fyp.ftpfilesharing.MainActivity}: java.lang.ClassCastException: android.widget.RelativeLayout 
4

1 回答 1

0

我很确定在您的清单中,您的活动不是 aListActivity而是 a RelativeLayout不过,为清楚起见,如果您同时发布布局和logcat(比您已经发布的多几行),也不会受到伤害

于 2013-06-11T20:59:36.093 回答