Android 类中的公共函数不';我不能正常工作
我有一个“movie”类和一个公共函数getName(),但该函数不返回任何内容,logcat只是空白Android 类中的公共函数不';我不能正常工作,android,class,oop,public-method,Android,Class,Oop,Public Method,我有一个“movie”类和一个公共函数getName(),但该函数不返回任何内容,logcat只是空白 public class movie { public String name45; int dvd_no ; public void addData( String name1 , int dvd_no1) { this.name45=name1 ; this.dvd_no = dvd_no1 ;
public class movie {
public String name45;
int dvd_no ;
public void addData( String name1 , int dvd_no1)
{
this.name45=name1 ;
this.dvd_no = dvd_no1 ;
Log.d("constructor name1", name1);
Log.d("constructor name45", name45);
}
public String getName()
{
return name45 ;
}
}
这是一个使用此方法的活动-列表中始终有空白条目
public class MoviesList extends Activity {
@Override
protected void onCreate(Bundle savedInstanceState) {
// TODO Auto-generated method stub
super.onCreate(savedInstanceState);
setContentView(R.layout.movieslist);
ListView lvAllMoviesList = (ListView)findViewById(R.id.allmovieslist);
ArrayList<String> moviesNames = new ArrayList<String>();
// go through list of members and compare name with given name
for(movie movie : MovieReg_activity.movies) {
String name = movie.getName();
Log.d("Movie Name list", movie.getName());
moviesNames.add(name);
}
ArrayAdapter<String> AllMovieList = new ArrayAdapter<String>(MoviesList.this,android.R.layout.simple_list_item_1, moviesNames);
lvAllMoviesList.setAdapter(AllMovieList);
}
}
公共类电影列表扩展活动{
@凌驾
创建时受保护的void(Bundle savedInstanceState){
//TODO自动生成的方法存根
super.onCreate(savedInstanceState);
setContentView(R.layout.movieslist);
ListView lvAllMoviesList=(ListView)findViewById(R.id.allmovieslist);
ArrayList moviesNames=新的ArrayList();
//浏览成员列表并将名称与给定名称进行比较
用于(电影:MovieReg_activity.movies){
字符串名称=movie.getName();
Log.d(“电影名称列表”,Movie.getName());
moviesNames.add(名称);
}
ArrayAdapter AllMovieList=新的ArrayAdapter(MoviesList.this,android.R.layout.simple\u list\u item\u 1,moviesNames);
lvAllMoviesList.setAdapter(AllMovieList);
}
}
生成对象并向其添加值的代码
public class MovieReg_activity extends Activity {
public static List<movie> movies = new ArrayList<movie>();
String movName ;
int dvdNo ;
@Override
protected void onCreate(Bundle savedInstanceState) {
// TODO Auto-generated method stub
super.onCreate(savedInstanceState);
setContentView(R.layout.mov_reg_layout);
EditText etmovie_name = (EditText)findViewById(R.id.etmovname);
EditText etdvd_no = (EditText)findViewById(R.id.etdvds);
Button btMovie_submit = (Button)findViewById(R.id.btmovsubmit);
movName= etmovie_name.getText().toString();
// dvdNo = Integer.parseInt(etdvd_no.getText().toString()); // to string then to int :)
btMovie_submit.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
int x=0 ;
movie movie = new movie() ;
movie.addData(movName, dvdNo);
movies.add(x,movie );
x++ ;
int size =movies.size() ;
Toast.makeText(MovieReg_activity.this, "no of movies added :"+size , Toast.LENGTH_SHORT).show();
}
});
}
}
public class MovieReg_活动扩展了活动{
public static List movies=new ArrayList();
字符串名称;
int dvdNo;
@凌驾
创建时受保护的void(Bundle savedInstanceState){
//TODO自动生成的方法存根
super.onCreate(savedInstanceState);
setContentView(R.layout.mov_reg_布局);
EditText etmovie_name=(EditText)findViewById(R.id.etmovname);
EditText etdvd_no=(EditText)findViewById(R.id.etdvd);
按钮btMovie\u submit=(按钮)findviewbyd(R.id.btmovesubmit);
movName=etmovie_name.getText().toString();
//dvdNo=Integer.parseInt(etdvd_no.getText().toString());//到字符串,然后到int:)
btMovie_submit.setOnClickListener(新视图.OnClickListener(){
@凌驾
公共void onClick(视图v){
int x=0;
电影=新电影();
movie.addData(movName,dvdNo);
添加(x,电影);
x++;
int size=movies.size();
Toast.makeText(MovieReg_activity.this,“添加的电影数量:”+大小,Toast.LENGTH_SHORT.show();
}
});
}
}
如果要将日志的标记
参数设置为第一个字符串,请尝试:
Log.d("DEBUG", "constructor name1 " + name1);
Log.d("DEBUG", "constructor name45 " + name45);
然后将logcat筛选器设置为“调试”问题在于在MovieReg_活动中从用户获取数据 通过把这两条线
EditText etmovie_name = (EditText)findViewById(R.id.etmovname);
movName= etmovie_name.getText().toString();
在按钮监听器内部是这样的
public void onClick(View v) {
int x=0 ;
EditText etmovie_name = (EditText)findViewById(R.id.etmovname);
movName= etmovie_name.getText().toString();
movies.add(new movie(movName , dvdNo) );
String name3= movie.getName() ;
x++ ;
int size =movies.size() ;
Toast.makeText(MovieReg_activity.this, "no of movies added :"+size , Toast.LENGTH_SHORT).show();
}
});
我们如何调试这个?我们不知道你是怎么用的。@DaveNewton抱歉。。我将编辑post@DaveNewton我想用logcat测试一下!这没用。你在哪里设置值?@DaveNewton好的,我会编辑它,但这并不能解释返回值的缺乏。尽管如此,它解释了为什么他的logcat是空的,并且很可能显示它正在输出一个值。