2010-08-05 79 views
0

好的,所以我有这个应用程序需要一个地址字符串(来自values/xml)并解析它当前的位置)重新调整名称,地址和距离。然后由arrayadapter拾取并放在listview上。我不能为了我的生活让列表视图接受一个onitemclick开始另一个活动,在那里我可以发起一个不同的观点。我确实知道我在哪里获得了行,名称和地址以显示一个警告对话框,但是为了让它启动一项活动,我失去了它。Stuck ...需要帮助..列表视图w /阵列适配器

那么有没有人有任何想法?我正在使用以下调用来创建我的列表和数组。这是剥离下来,所以假设我有所有的进口和正确的格式。我知道,我只是简单的东西在这里...

public class Wf extends ListActivity { 
private ArrayList<String> DistanceList; 
private ArrayAdapter<String> aa; 

@Override 
public void onCreate(Bundle icicle) { 
    super.onCreate(icicle); 

    // Bind the ListView to an ArrayList of strings. 
    DistanceList = new ArrayList<String>(); 

ListView lv = (ListView)findViewById(R.id.ListView01); 

aa = new ArrayAdapter<String>(getApplicationContext(), 
           R.layout.listbox_layout, 
           DistanceList); 
lv.setAdapter(aa); 

//Call to get distance... here 
} 

public void onListItemClick(ListView parent, View v,int position, long id) { 
    ListView lv = (ListView)findViewById(R.id.ListView01); 
    Toast.makeText(this, "You clicked", Toast.LENGTH_LONG).show(); 
    } 

回答

0

ListActivity文档:

ListActivity有一个默认的布局 在中心由一个单一的,全屏幕列表 的的屏幕。但是,如果您愿意,可以使用 ,您可以通过在onCreate()中使用setContentView()在 onCreate()中设置自己的视图 来自定义 屏幕布局。要做到这一点,你自己的看法 必须包含一个ListView对象与 id为“@android:ID /列表”(或列表,如果 它的代码)

您的ListView控件没有正确的ID。你的代码是不完整的,但我怀疑这个监听器没有被注册到ListView中。

+0

我明白了。好的,我实际上试图在单个滚动视图中使用4个列表视图。我知道,听起来很疯狂,但它受到美容要求的驱使。我为字体控制等编写了自定义listbox_layout。我只希望我能在某处找到一个很好的例子。你知道什么吗?我喜欢自己弄清这些东西,但显然我正在按小时计算。 再次感谢, – WJOH 2010-08-05 16:44:02

+0

好吧,明白了。现在,我可以在单个父视图中的多个列表视图上执行此操作吗?例如,有4个listviews的滚动视图? – WJOH 2010-08-05 17:02:04

+0

@WJOH:如果你想使用多个ListView,我不认为你可以使用ListActivity。你必须使用Activity并自己连线。 – 2010-08-05 17:10:18