Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/351.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/180.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java Android:TextView显示包名而不是实际文本_Java_Android - Fatal编程技术网

Java Android:TextView显示包名而不是实际文本

Java Android:TextView显示包名而不是实际文本,java,android,Java,Android,my fragment_main中的文本视图应该显示字符串,但它显示的是包名 在我的主要活动课上 public class MainActivity extends ActionBarActivity { @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_m

my fragment_main中的文本视图应该显示字符串,但它显示的是包名

在我的主要活动课上

public class MainActivity extends ActionBarActivity {   


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

    if (savedInstanceState == null) {
        getSupportFragmentManager().beginTransaction()
                .add(R.id.container, new PlaceholderFragment()).commit();
    }
}

@Override
public boolean onCreateOptionsMenu(Menu menu) {

    // Inflate the menu; this adds items to the action bar if it is present.
    getMenuInflater().inflate(R.menu.main, menu);
    return true;
}

@Override
public boolean onOptionsItemSelected(MenuItem item) {
    // Handle action bar item clicks here. The action bar will
    // automatically handle clicks on the Home/Up button, so long
    // as you specify a parent activity in AndroidManifest.xml.
    int id = item.getItemId();
    if (id == R.id.action_settings) {
        return true;
    }
    return super.onOptionsItemSelected(item);
}

/**
 * A placeholder fragment containing a simple view.
 */
public static class PlaceholderFragment extends Fragment {

    ListView main_list;
    ArrayAdapter<Cinema> adapter;
    ArrayList<Cinema> ItemList = new ArrayList<Cinema>();

    public PlaceholderFragment() {
    }

    @Override
    public View onCreateView(LayoutInflater inflater, ViewGroup container,
            Bundle savedInstanceState) {
        Log.v("Check", "1");
        final View rootView = inflater.inflate(R.layout.fragment_main, container, false);
        ItemList.addAll(initialization());
        ListView main_list = (ListView) rootView.findViewById(R.id.mainlist);
        adapter = new ListAdapater(rootView.getContext(), ItemList);
        main_list.setAdapter(adapter);
        main_list.setOnItemClickListener(new OnItemClickListener() {

            @Override
            public void onItemClick(AdapterView<?> parent, View v,
                    int position, long id) {
                // TODO Auto-generated method stub
                Intent i = new Intent(rootView.getContext(), CinemaDetails.class);
                Bundle b = new Bundle();
                b.putParcelable("Cinema", ItemList.get(position));
                i.putExtra("Bundle", b);
                startActivity(i);
            }
        });
        return rootView;
    }

    public ArrayList<Cinema> initialization () {
        ArrayList<Cinema> tempItemList = new ArrayList<Cinema>();
        ArrayList<Movie> movielistone = new ArrayList<Movie>();
        Movie movieone = new Movie(101, "MovieOne", "null", 5, "nULL");
        Movie movietwo = new Movie(102, "Movietwo", "null", 3, "nuLL");
        movielistone.add(movieone);
        movielistone.add(movietwo);
        Cinema cinemaone = new Cinema(01, "test", "ygn", 55555, movielistone, 3);
        Cinema cinematwo = new Cinema(02, "test2", "ygn", 554555, movielistone, 3);
        tempItemList.add(cinemaone);
        tempItemList.add(cinematwo);
        return tempItemList;
    }
}
公共类MainActivity扩展了ActionBarActivity{
@凌驾
创建时受保护的void(Bundle savedInstanceState){
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
如果(savedInstanceState==null){
getSupportFragmentManager().beginTransaction()
.add(R.id.container,新的占位符片段()).commit();
}
}
@凌驾
公共布尔onCreateOptions菜单(菜单){
//为菜单充气;这会将项目添加到操作栏(如果存在)。
getMenuInflater().充气(R.menu.main,menu);
返回true;
}
@凌驾
公共布尔值onOptionsItemSelected(菜单项项){
//处理操作栏项目单击此处。操作栏将
//自动处理Home/Up按钮上的点击,只要
//在AndroidManifest.xml中指定父活动时。
int id=item.getItemId();
if(id==R.id.action\u设置){
返回true;
}
返回super.onOptionsItemSelected(项目);
}
/**
*包含简单视图的占位符片段。
*/
公共静态类占位符片段扩展了片段{
ListView主列表;
阵列适配器;
ArrayList ItemList=新建ArrayList();
公共占位符片段(){
}
@凌驾
创建视图上的公共视图(布局、充气机、视图组容器、,
Bundle savedInstanceState){
日志v(“检查”、“1”);
最终视图根视图=充气机。充气(R.layout.fragment_main,容器,假);
addAll(初始化());
ListView main_list=(ListView)rootView.findViewById(R.id.mainlist);
adapter=newlistadapater(rootView.getContext(),ItemList);
主列表。设置适配器(适配器);
main_list.setOnItemClickListener(新的OnItemClickListener(){
@凌驾
public void onItemClick(AdapterView父视图、视图v、,
内部位置,长id){
//TODO自动生成的方法存根
Intent i=新的Intent(rootView.getContext(),CinemaDetails.class);
Bundle b=新Bundle();
b、 putParcelable(“电影院”,ItemList.get(位置));
i、 putExtra(“束”,b);
星触觉(i);
}
});
返回rootView;
}
公共ArrayList初始化(){
ArrayList tempItemList=新建ArrayList();
ArrayList movielistone=新的ArrayList();
Movie-movieone=新电影(101,“movieone”,“空”,5,“空”);
Movie movietwo=新电影(102,“movietwo”,“null”,3,“null”);
movielistone.add(movieone);
movielistone.add(movietwo);
Cinema cinemaone=新电影院(01,“测试”,“ygn”,55555,movielistone,3);
电影院2=新电影院(02,“测试2”,“ygn”,554555,movielistone,3);
tempItemList.add(一个);
添加(两个);
返回tempItemList;
}
}
我使用数组适配器,它的代码是

public class ListAdapater extends ArrayAdapter<Cinema> {

private LayoutInflater inflater;

public ListAdapater(Context context, List<Cinema> itemList) {
    super(context, R.layout.row, R.id.txt_cinemaname, itemList );
    inflater = LayoutInflater.from(context) ;  
    // TODO Auto-generated constructor stub
}

@Override
public Cinema getItem(int position) {
    // TODO Auto-generated method stub
    return super.getItem(position);
}



@Override
public View getView(int position, View convertView, ViewGroup parent) {
    // TODO Auto-generated method stub
    Cinema cinema = this.getItem(position);
    TextView txt_name;
    TextView txt_movie;

    if (convertView == null) {
        convertView = inflater.inflate(R.layout.row, null);
        txt_name = (TextView) convertView.findViewById(R.id.txt_cinemaname);
        txt_movie = (TextView) convertView.findViewById(R.id.txt_moviesonshow);
        convertView.setTag(new ItemViewHolder(txt_name, txt_movie));
    } else {
        ItemViewHolder viewHolder = (ItemViewHolder) convertView.getTag();
        txt_name = viewHolder.getName();
        txt_movie = viewHolder.getMoviename();
    }

    txt_name.setText("test");
    Log.v("name", txt_name.getText().toString());
    txt_movie.setText("");
    for (Movie movie : cinema.getMovieonshow()) {
        String temp = txt_movie.getText().toString();
        txt_movie.setText(temp + movie.getName() + "\n");
    }
    return super.getView(position, convertView, parent);
}

public static class ItemViewHolder {
    private TextView name;
    private TextView moviename;
    public ItemViewHolder() {}
    public ItemViewHolder(TextView name, TextView moviename) {
        super();
        this.name = name;
        this.moviename = moviename;
    }
    public TextView getName() {
        return name;
    }
    public void setName(TextView name) {
        this.name = name;
    }
    public TextView getMoviename() {
        return moviename;
    }
    public void setMoviename(TextView moviename) {
        this.moviename = moviename;
    }
}}
公共类ListAdapater扩展了ArrayAdapter{
私人充气机;
公共ListAdapater(上下文上下文,列表项列表){
super(context,R.layout.row,R.id.txt\u cinemaname,itemList);
充气器=充气器。从(上下文);
//TODO自动生成的构造函数存根
}
@凌驾
公共影院项目(内部位置){
//TODO自动生成的方法存根
返回super.getItem(位置);
}
@凌驾
公共视图getView(int位置、视图转换视图、视图组父视图){
//TODO自动生成的方法存根
电影院=此.getItem(位置);
TextView txt_名称;
TextView txt_电影;
if(convertView==null){
convertView=充气机充气(R.layout.row,空);
txt_name=(TextView)convertView.findViewById(R.id.txt_name);
txt_movie=(TextView)convertView.findViewById(R.id.txt_moviesShow);
setTag(新的ItemViewHolder(txt_名称,txt_电影));
}否则{
ItemViewHolder viewHolder=(ItemViewHolder)convertView.getTag();
txt_name=viewHolder.getName();
txt_movie=viewHolder.getMoviename();
}
txt_name.setText(“测试”);
Log.v(“name”,txt_name.getText().toString());
txt_movie.setText(“”);
for(电影:cinema.getMovieonshow()){
字符串temp=txt_movie.getText().toString();
txt_movie.setText(temp+movie.getName()+“\n”);
}
返回super.getView(position、convertView、parent);
}
公共静态类ItemViewHolder{
私有文本视图名称;
私有文本视图moviename;
public ItemViewHolder(){}
公共项目视图持有者(TextView名称、TextView moviename){
超级();
this.name=名称;
this.moviename=moviename;
}
公共文本视图getName(){
返回名称;
}
public void setName(TextView名称){
this.name=名称;
}
公共文本视图getMoviename(){
返回moviename;
}
公共无效setMoviename(TextView moviename){
this.moviename=moviename;
}
}}

我以前从未遇到过这个问题。我绑定到从TextView记录文本,它显示“test”,就像我放在那里的一样。有什么建议吗?谢谢阅读。

我不太清楚,但为什么要在ListAdapter构造函数中传入
R.id.txt\u cinemaname
?问题看起来像是传入了对象(字符串“com.example…是指向对象的指针,我猜是TextView)而不是字符串


另外,在
getView()
方法中,您不应该返回
convertView
而不是
super.getView(position,convertView,parent);

我不太清楚,但为什么要在列表中传入
R.id.txt\u cinemaname
return super.getView(position, convertView, parent);