Android 显示不在新活动中的列表视图

Android 显示不在新活动中的列表视图,android,listview,android-listview,android-activity,xamarin,Android,Listview,Android Listview,Android Activity,Xamarin,我正在使用Xamarin,我有一个带有一些自定义视图的ListView活动。我还有一个地图活动。映射活动作为启动项目启动。映射活动启动后,我希望显示一个ListView(当前在活动中) 我的问题是:我是否需要开始一个新的活动来显示这个ListView?我可以从地图活动中显示列表视图吗 提前感谢您可以创建一个警报对话框,通过创建一个for警报对话框,可以从当前的活动启动该对话框 MainActivity.java package com.example.alertlist; import and

我正在使用Xamarin,我有一个带有一些自定义视图的ListView活动。我还有一个地图活动。映射活动作为启动项目启动。映射活动启动后,我希望显示一个ListView(当前在活动中)

我的问题是:我是否需要开始一个新的活动来显示这个ListView?我可以从地图活动中显示列表视图吗


提前感谢

您可以创建一个
警报对话框
,通过创建一个for
警报对话框
,可以从当前的
活动
启动该对话框

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

}
package com.example.alertlist;
导入android.os.Bundle;
导入android.app.Activity;
导入android.app.AlertDialog;
导入android.app.AlertDialog.Builder;
导入android.view.LayoutInflater;
导入android.view.Menu;
导入android.widget.ArrayAdapter;
导入android.widget.ListView;
公共类MainActivity扩展了活动{
警惕的对话;
ListView lv;
@凌驾
创建时受保护的void(Bundle savedInstanceState){
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
AlertDialog.Builder b=新建AlertDialog.Builder(此);
LayoutInflater i=getLayoutInflater();
b、 setView(即充气(R.layout.alert_list,null));
al=b.create();
al.show();
lv=(ListView)al.findViewById(R.id.listView1);
字符串[]myStringArray={“this”、“is”、“it”};
ArrayAdapter=新的ArrayAdapter(这个,android.R.layout.simple\u list\u item\u 1,myStringArray);
低压设置适配器(适配器);
}
@凌驾
公共布尔onCreateOptions菜单(菜单){
//为菜单充气;这会将项目添加到操作栏(如果存在)。
getMenuInflater().充气(R.menu.main,menu);
返回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>

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

1-

2-如果要更改可见性,请参见


最后,您可以在android中搜索关于切换视图的信息,这将非常有用。

您能快速向我展示相关代码吗?或者给我看一个链接,上面有这个过程的示例代码?@Garry请再次查看我的答案。
ViewGroup vg = (ViewGroup)(mapView.getParent());
vg.removeView(mapView);

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