2016-04-20 77 views
0

我想从意图传递数据到一个列表视图,但我得到“构造函数ArrayAdapter是未定义的”错误。 这是我的代码:构造函数ArrayAdapter <string>是undefined

public class Loglist extends Activity { 

public void onCreate(Bundle savedInstanceState){ 
    super.onCreate(savedInstanceState); 
    setContentView(R.layout.diary_edit); 

    TextView Exe =(TextView) findViewById(R.id.txtName2); 
    Exe.setText(getIntent().getExtras().getString("extraname")); 

    populateListView1(); 

} 

     private void populateListView1(){ 



      TextView Name1; 
     Name1.setText(getIntent().getExtras().getString("extraname")); 

      ArrayAdapter<String> adapter2 = new ArrayAdapter<String>(this,R.layout.loglist,Name1); 


     ListView List =(ListView) findViewById(R.id.listViewdiary); 
     List.setAdapter(adapter2); 

     } 
+0

你不能传递一个字符串转换成'ArrayAdapter'构造。它必须是一个'String []'或'List '。 – CommonsWare

+1

其实,他们正在尝试传递一个'TextView'。 –

回答

1

老弟,你是想在TextView一个实例来传递,而你应该在String[]通过。因此,申报要String一个数组来传递,这样的事情:

private void populateListView1(){ 

    TextView Name1; 
    String string1 = getIntent().getExtras().getString("extraname"); 
    Name1.setText(string1); 

    String[] array = new String[]{string1}; 
    ArrayAdapter<String> adapter2 = new ArrayAdapter<String>(this, R.layout.loglist, array); 


    ListView List =(ListView) findViewById(R.id.listViewdiary); 
    List.setAdapter(adapter2); 

} 
相关问题