<bdo id='5iufL'></bdo><ul id='5iufL'></ul>
    <legend id='5iufL'><style id='5iufL'><dir id='5iufL'><q id='5iufL'></q></dir></style></legend>

    1. <tfoot id='5iufL'></tfoot>
      <i id='5iufL'><tr id='5iufL'><dt id='5iufL'><q id='5iufL'><span id='5iufL'><b id='5iufL'><form id='5iufL'><ins id='5iufL'></ins><ul id='5iufL'></ul><sub id='5iufL'></sub></form><legend id='5iufL'></legend><bdo id='5iufL'><pre id='5iufL'><center id='5iufL'></center></pre></bdo></b><th id='5iufL'></th></span></q></dt></tr></i><div id='5iufL'><tfoot id='5iufL'></tfoot><dl id='5iufL'><fieldset id='5iufL'></fieldset></dl></div>
    2. <small id='5iufL'></small><noframes id='5iufL'>

        Android - 在自定义对话框中正确执行自定义列表视

        时间:2023-08-30
        <i id='Aj5lG'><tr id='Aj5lG'><dt id='Aj5lG'><q id='Aj5lG'><span id='Aj5lG'><b id='Aj5lG'><form id='Aj5lG'><ins id='Aj5lG'></ins><ul id='Aj5lG'></ul><sub id='Aj5lG'></sub></form><legend id='Aj5lG'></legend><bdo id='Aj5lG'><pre id='Aj5lG'><center id='Aj5lG'></center></pre></bdo></b><th id='Aj5lG'></th></span></q></dt></tr></i><div id='Aj5lG'><tfoot id='Aj5lG'></tfoot><dl id='Aj5lG'><fieldset id='Aj5lG'></fieldset></dl></div>

            • <bdo id='Aj5lG'></bdo><ul id='Aj5lG'></ul>

                <small id='Aj5lG'></small><noframes id='Aj5lG'>

                  <tbody id='Aj5lG'></tbody>
                <legend id='Aj5lG'><style id='Aj5lG'><dir id='Aj5lG'><q id='Aj5lG'></q></dir></style></legend>

                <tfoot id='Aj5lG'></tfoot>
                  本文介绍了Android - 在自定义对话框中正确执行自定义列表视图的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

                  问题描述

                  我有一个应用程序,我想在 android 的自定义对话框中显示一个由两个 textView 组成的自定义列表视图.到目前为止,我很难弄清楚如何将两者联系起来并生成对话框的内容.

                  I have an application where I would want to display a custom list view consisting of two textViews inside a custom dialog box in android. So far, I'm having a difficult time figuring out how to connect the two and generate the contents of the dialog box.

                  我尝试按照自定义 listView 教程进行操作,希望只是将对话框适配器设置为它,但无济于事.

                  I tried to follow custom listView tutorials with the hopes of just setting the dialog adapter to it but to no avail.

                  到目前为止,这是我目前所拥有的:

                  So far, this is what I have so far:

                  这是 list_row_dialog.xml,包含两个文本视图的行的布局:

                  This is list_row_dialog.xml, the layout for the row containing two textviews:

                  <?xml version="1.0" encoding="utf-8"?>
                  <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
                      android:layout_width="fill_parent"
                      android:layout_height="wrap_content"
                      android:minHeight="50dp"
                      android:orientation="horizontal"
                      android:padding="5dip" >
                  
                  <TextView
                      android:id="@+id/unit"
                      android:layout_width="wrap_content"
                      android:layout_height="wrap_content"
                      android:textStyle="bold"
                      android:typeface="sans" />
                  
                  <TextView
                      android:id="@+id/quantity"
                      android:layout_width="wrap_content"
                      android:layout_height="wrap_content"
                      android:layout_alignParentRight="true"
                      android:layout_alignParentTop="true"
                      android:textColor="#343434"
                      android:textSize="12sp" />
                  
                  </RelativeLayout>
                  

                  这里是 dialog_main.xml 文件,我希望对话框使用的布局文件,它基本上是一个 listView.

                  And here is the dialog_main.xml file, the layout file that I want the dialog box to use, it's basically a listView.

                  <?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" >
                  
                  <ListView
                      android:id="@+id/custom_list"
                      android:layout_width="fill_parent"
                      android:layout_height="wrap_content"
                      android:dividerHeight="1dp" />
                  
                  </LinearLayout>
                  

                  这里是CustomListAdapterDialog.java,我什至不确定是否需要使用它在对话框上显示数据:

                  And here's CustomListAdapterDialog.java, I'm not sure if I even need to use this to display data on the dialog box:

                  public class CustomListAdapterDialog extends BaseAdapter {
                  
                  private ArrayList<ItemClass> listData;
                  
                  private LayoutInflater layoutInflater;
                  
                  public CustomListAdapterDialog(Context context, ArrayList<ItemClass> listData) {
                      this.listData = listData;
                      layoutInflater = LayoutInflater.from(context);
                  }
                  
                  @Override
                  public int getCount() {
                      return listData.size();
                  }
                  
                  @Override
                  public Object getItem(int position) {
                      return listData.get(position);
                  }
                  
                  @Override
                  public long getItemId(int position) {
                      return position;
                  }
                  
                  public View getView(int position, View convertView, ViewGroup parent) {
                      ViewHolder holder;
                      if (convertView == null) {
                          convertView = layoutInflater.inflate(R.layout.list_row_dialog, null);
                          holder = new ViewHolder();
                          holder.unitView = (TextView) convertView.findViewById(R.id.unit);
                          holder.quantityView = (TextView) convertView.findViewById(R.id.quantity);
                          convertView.setTag(holder);
                      } else {
                          holder = (ViewHolder) convertView.getTag();
                      }
                  
                      holder.unitView.setText(listData.get(position).getVariant().toString());
                      holder.quantityView.setText(listData.get(position).getUnit().toString());
                  
                      return convertView;
                  }
                  
                  static class ViewHolder {
                      TextView unitView;
                      TextView quantityView;
                  }
                  
                  }
                  

                  最初,我尝试使用此代码显示对话框:

                  Initially, I tried this code to display the dialog box:

                  private void showDialog(){
                      final Dialog dialog = new Dialog(this);
                      dialog.setContentView(R.layout.dialog_main);
                  
                  
                      dialog.show();
                  }
                  

                  但它只显示一个空白行,很明显我没有正确填充它.

                  But it only shows, one blank row, it is very clear that I am not populating it properly.

                  有什么想法吗?此外,我可以在 showDialog() 函数中填充对话框,因为我在同一个 java 类中也有我想要填充的数据.

                  Any ideas anyone? Also, I can populate the dialog boxes in the showDialog() function since I also have the data I want to populate with in the same java class.

                  推荐答案

                  你在做以下事情吗?您将需要扩充布局文件 dialog_main,找到 ListView,为其设置适配器和 OnItemClickListener.在此之后,您可以使用对话框的 setContentView(View) 方法来获取要显示的列表.

                  Are you doing the following? You will need to inflate the layout file dialog_main, find the ListView, set an adapter and an OnItemClickListener for it. After this, you can use the dialog's setContentView(View) method to get the list to display.

                  private void showDialog(){
                  
                      final Dialog dialog = new Dialog(this);
                  
                      View view = getLayoutInflater().inflate(R.layout.dialog_main, null);
                  
                      ListView lv = (ListView) view.findViewById(R.id.custom_list);
                  
                      // Change MyActivity.this and myListOfItems to your own values
                      CustomListAdapterDialog clad = new CustomListAdapterDialog(MyActivity.this, myListOfItems);
                  
                      lv.setAdapter(clad);
                  
                      lv.setOnItemClickListener(........);
                  
                      dialog.setContentView(view);
                  
                      dialog.show();
                  
                  }
                  

                  顺便说一句,您的适配器看起来还不错.它不起作用,因为你没有给它任何工作.

                  By the way, your adapter looks alright. It isn't working because you're not giving it anything to work on.

                  这篇关于Android - 在自定义对话框中正确执行自定义列表视图的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持html5模板网!

                  上一篇:Android:如何以编程方式将 Activity 的主题设置为 下一篇:Android:触摸时关闭对话框窗口

                  相关文章

                  最新文章

                  <tfoot id='K7Bo2'></tfoot>
                • <legend id='K7Bo2'><style id='K7Bo2'><dir id='K7Bo2'><q id='K7Bo2'></q></dir></style></legend>
                • <small id='K7Bo2'></small><noframes id='K7Bo2'>

                  <i id='K7Bo2'><tr id='K7Bo2'><dt id='K7Bo2'><q id='K7Bo2'><span id='K7Bo2'><b id='K7Bo2'><form id='K7Bo2'><ins id='K7Bo2'></ins><ul id='K7Bo2'></ul><sub id='K7Bo2'></sub></form><legend id='K7Bo2'></legend><bdo id='K7Bo2'><pre id='K7Bo2'><center id='K7Bo2'></center></pre></bdo></b><th id='K7Bo2'></th></span></q></dt></tr></i><div id='K7Bo2'><tfoot id='K7Bo2'></tfoot><dl id='K7Bo2'><fieldset id='K7Bo2'></fieldset></dl></div>

                        <bdo id='K7Bo2'></bdo><ul id='K7Bo2'></ul>