2013-08-06 61 views
0

我在尝试从Listview获取数据时遇到问题,然后在用户从列表中选择产品后,在EditText中设置该数据字符串。我需要做这些代码才能做到这一点?提前致谢。Android从Listview中获取数据

(另外,对不起,如果这是一个愚蠢的问题,我是新来的Android和Java的)

活动与EditText上:

EditText CPU = (EditText) findViewById(R.id.autoCompleteTextView4); 
    CPU.setOnClickListener(new View.OnClickListener() { 

     @Override 
     public void onClick(View v) { 
      // TODO Auto-generated method stub 

      Intent CPUList = new Intent(getApplicationContext(), 
        CPUList.class); 
      startActivityForResult(CPUList, RESULT_OK); 
     } 

    }); 

列表活动

final ListView listViewCPU = (ListView) findViewById(R.id.listViewCPU); 
    listViewCPU.setChoiceMode(ListView.CHOICE_MODE_SINGLE); 

    String CPUList[] = { 

    "CPU's go here", "CPU's go here", "CPU's go here", "CPU's go here" }; 

    ArrayAdapter<String> adapter = new ArrayAdapter<String>(this, 
      android.R.layout.simple_list_item_1, CPUList); 

    listViewCPU.setAdapter(adapter); 

    listViewCPU.setOnItemClickListener(new OnItemClickListener() { 

     @Override 
     public void onItemClick(AdapterView<?> myAdapter, View myView, int pos, long mylng) { 
      String CPU =(listViewCPU.getItemAtPosition(pos).toString()); 

     } 
    }); 

} 

} 
+0

你尝试登录串CPU。你有没有得到正确的价值。 – Raghunandan

回答

0

ArrayAdapter包含您的数据。如果您获取适配器的引用,则可以从该位置获取字符串。

另一件需要注意的是,在您的OnItemClick侦听器中,您命名了您的AdapterView myAdapter,事实是适配器视图只是一个实现适配器的视图,所以在这种情况下,适配器视图将成为您的列表视图。

下面是你将如何从点击收听让您的字符串:

listViewCPU.setOnItemClickListener(new OnItemClickListener() { 
    @Override 
    public void onItemClick(AdapterView<?> listview, View myView, int pos, long mylng) { 
     String CPU = (String) listview.getAdapter().getItem(pos); 

    } 
}); 
+0

我在哪里可以找到适配器的引用? – Jack

+0

当你初始化它时,你可以使它成为一个全局变量,或者你可以像上面所做的那样通过AdapterView参数来获得它。 – jimmithy

+0

当使用上面给出的代码时,我在“位置”上出现错误,说“位置未声明为变量” – Jack

相关问题