从另一个类调用方法

时间:2012-10-05 15:29:47

标签: android class methods

我已经制作了一些代码,但现在它很长,我想在一个java文件中将它分成不同的类。什么我可以尝试在启动时始终应用程序崩溃或找不到源。在这种情况下,在一个类上有方法,我想在主类中调用它以在textview中显示,但发生源未找到错误。

package com.valchev.avilight;

import android.app.ListActivity;
import android.os.Bundle;
import android.view.Menu;
import android.widget.TextView;

public class MainActivity extends ListActivity {
public DirShow dirShow = new DirShow();
@Override
public void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_main);

    String s = "Blah Blah!";
    dirShow.myDirShow(s);
}

//Settings layer
@Override
public boolean onCreateOptionsMenu(Menu menu) {
    getMenuInflater().inflate(R.menu.activity_main, menu);
    return true;
}
}

class DirShow extends MainActivity {
public void myDirShow(String s) {
    s = "blah!";
    TextView text = new TextView(this);
    text = (TextView)findViewById(R.id.path);
    text.setText(s);
}
}

1 个答案:

答案 0 :(得分:0)

public DirShow dirShow = new DirShow();

您可以这样做。您正在尝试自己创建Activity个对象。如果您想开始新的Activity,则应使用Context.startActivityHere是关于活动如何运作的更多信息。顺便说一句,你不应该尝试在同一时间开始两项活动。一个活动等于(粗略地说)一个用户界面屏幕。如果您想打开新的用户界面,那么您可以开始新的活动。

我真的没有看到DirShow扩展Activity的任何理由,如果你真的坚持不同的课程,你可以将MainActivity作为第二个参数传递给myDirShow或者在contstructor中传递它并将其保存为DirShow中的成员变量。也许有更好的方法,但我的Java并不是那么好。