2014-02-18 181 views
0

我有一个“电影”类和公共职能的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 ; 

      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); 
    } 

} 

其产生的对象,并添加值,它

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();  

      } 
     }); 

    } 

} 
+0

我们如何调试这解决了吗?我们不知道你是如何使用它的。 –

+0

@DaveNewton抱歉..我将编辑后 – Fawzinov

+0

@DaveNewton我的意思通过的logcat来测试一下吧! – Fawzinov

回答

0

的问题是我n的用户获取数据的MovieReg_activity

其通过把这两行

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();  

      } 
     }); 
0

您设置日志的第一串TAG参数的代码,请尝试:

Log.d("DEBUG", "constructor name1 " + name1); 
Log.d("DEBUG", "constructor name45 " + name45); 

然后设置您logcat的过滤器DEBUG

+0

没有解释缺乏返回值虽然。 –

+0

问题出在方法本身上。编辑问题 – Fawzinov

+0

尽管如此,它解释了为什么他的logcat是空白的,并且可能很好地显示它正在输出一个值。 – NameSpace