显示不在新活动中的ListView

时间:2014-02-01 03:09:35

标签: android listview android-listview android-activity xamarin

我正在使用Xamarin,我有一些ListView活动和一些自定义视图。我也有地图活动。地图活动以启动项目开始。地图活动启动后,我希望显示一个ListView(当前在活动中)。

我的问题是:我是否需要开展一项有意展的新活动来展示这个ListView?我可以在地图活动中显示ListView吗?

提前致谢

2 个答案:

答案 0 :(得分:0)

您可以通过为AlertDialog创建Custom Layout来制作可从当前Activity启动的AlertDialog

MainActivity.java

package com.example.alertlist;

import android.os.Bundle;
import android.app.Activity;
import android.app.AlertDialog;
import android.app.AlertDialog.Builder;
import android.view.LayoutInflater;
import android.view.Menu;
import android.widget.ArrayAdapter;
import android.widget.ListView;

public class MainActivity extends Activity {

AlertDialog al;
ListView lv;

@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_main);
    AlertDialog.Builder b = new AlertDialog.Builder(this);
    LayoutInflater i = getLayoutInflater();
    b.setView(i.inflate(R.layout.alert_list, null));
    al = b.create();
    al.show();
    lv = (ListView) al.findViewById(R.id.listView1);
    String[] myStringArray = {"this", "is", "it"};
    ArrayAdapter adapter = new ArrayAdapter<String>(this, android.R.layout.simple_list_item_1, myStringArray);
    lv.setAdapter(adapter);
}

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

}

alert_list.xml

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical" >

<ListView
    android:id="@+id/listView1"
    android:layout_width="match_parent"
    android:layout_height="wrap_content" >
</ListView>

</LinearLayout>

答案 1 :(得分:0)

您可以从当前活动的内容视图中删除所有视图,然后在代码中创建ListView,然后将其添加到内容视图中。或者您可以使用switchView来显示它。您还可以创建包含地图和列表的布局,首先将列表设置为不可见,然后将地图设置为不可见,并将列表更改为可见。

1-

ViewGroup vg = (ViewGroup)(mapView.getParent());
vg.removeView(mapView);

//then create your listview and add it:
...
vg.addView(myListView);

2 - 如果您想要更改公开程度,请参阅Android : difference between invisible and gone?

最后你可以搜索关于android中的切换视图,这将是有用的。