我已经制作了一些代码,但现在它很长,我想在一个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);
}
}
答案 0 :(得分:0)
public DirShow dirShow = new DirShow();
您可以不这样做。您正在尝试自己创建Activity
个对象。如果您想开始新的Activity
,则应使用Context.startActivity
。 Here是关于活动如何运作的更多信息。顺便说一句,你不应该尝试在同一时间开始两项活动。一个活动等于(粗略地说)一个用户界面屏幕。如果您想打开新的用户界面,那么您可以开始新的活动。
我真的没有看到DirShow
扩展Activity
的任何理由,如果你真的坚持不同的课程,你可以将MainActivity
作为第二个参数传递给myDirShow
或者在contstructor中传递它并将其保存为DirShow中的成员变量。也许有更好的方法,但我的Java并不是那么好。