java - 根据用户数量创建线性布局和其他内容

标签 java android android-linearlayout

问题陈述:-

我正在开发android项目,其中我需要根据标记(用户)动态创建android屏幕的下半部分 map 。所以我将android 屏幕分成两半。在上半部分中,我展示了运行良好的Google Maps。在下半部分中,我需要动态创建线性布局以及线性布局上的其他一些内容。我使用 Paint 创建了一个图像,只是为了让人们了解我如何需要我的 UI。因此,目前我仅在下半部分中为一名用户展示了仅一个线性布局示例。我需要为 n 个用户Scrollable 提供相同的东西。 假设如果我需要绘制两次(那里有两个用户),那么在下半部分将是相同的东西在可滚动模式下有两次。如果我需要画三次,那么在下半部分就应该画三次。

enter image description here

下面是我需要添加动态布局代码的代码。

    @Override
    protected void onPostExecute(ArrayList<User> response) {

        if (response!=null) {
        // Need to create here dynamically the linear layout.
        }

        for(User user : response){

        // In this loop, I am showing all the user's on the google maps

        }


    }

任何帮助将不胜感激。对于这种情况,XML 文件应该是什么。

目前我拥有的 XML 如下,这是一个简单的 UI,没有正确的下半部分,如我在图像中所示 -

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

    <com.google.android.maps.MapView 
        android:id="@+id/mapView" 
        android:layout_width="fill_parent" 
        android:layout_height="fill_parent" 
        android:layout_weight="1" 
        android:apiKey="0vAX8Xe9xjo5gkFNEEIH7KdHkNZNJWNnsjUPKkQ" 
        android:clickable="true" 
        android:enabled="true" /> 

    <TextView 
        android:id="@+id/textView" 
        android:layout_width="fill_parent" 
        android:layout_height="fill_parent" 
        android:layout_weight="1" 
        android:text="TextView" /> 

</LinearLayout> 

注意:

在下半部分,我需要一个图像和图像旁边的一些文本,例如名称等。

最佳答案

您不需要动态进行布局...您可以只使用 ListView在布局的下半部分,并将 map 设置为上半部分。然后,当您获取用户列表时,将所需数量的用户添加到适配器中。您可以返回当前 View ,以便用户显示列表中的每个项目。这是一个简短的例子..

public class MyActivity extends Activity{

     ListView mListView;
     ArrayAdapter<User> mAdapter;

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

          //get the listview from xml. I think you know how to layout half and half...
          mListView = (ListView)findViewById(R.id.list);
          mAdapter = new ArrayAdapter<User>(this,R.id.userviewlayout){

               @Override
               public View getView(){
                    //here is where you add the code to inflate and display a view for a single user
               }
          };

          for(User user : Users)
               mAdapter.add(user);

          mListView.setAdapter(mAdapter);
     }
}

关于java - 根据用户数量创建线性布局和其他内容,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12023477/

相关文章:

javascript - 如何使用 jjs 参数启动 java nashorn

java - scala.collections.javaconverters._ 错误 : value map is not a member of java. util.Set

android - 从 apk 文件启动 Activity

android - 在Android插件任务上调用doFirst

android - Android 上 LinearLayout 中的 CSS "float:right"属性等效?

java - 为什么 Cassandra 是用 Java 编写的?

java - JUnit 测试总是返回 null

java - Android:如何使用图像按钮?

android - 将布局从纵向模式切换到横向模式时出现问题

android - Linearlayout中动态添加View的问题