1

我是安卓新手。。

我正面临 listview 的标题问题..

如何实现列表视图的标题?帮我..

我试试这样。。

      LayoutInflater inflater = (LayoutInflater) getSystemService(Context.LAYOUT_INFLATER_SERVICE);
      viewList = Nexttopic.this.getLayoutInflater().inflate(R.layout.activity_nexttopic, null);
      dialogMarketList = new Dialog(Nexttopic.this);
      dialogMarketList.requestWindowFeature(Window.FEATURE_NO_TITLE);
      dialogMarketList.setTitle("TOPICS");
      dialogMarketList.setContentView(viewList);
      dialogMarketList.show();     
      lvForDialog = (ListView) viewList.findViewById(R.id.List_view);
      lvForDialog.setTranscriptMode(ListView.TRANSCRIPT_MODE_ALWAYS_SCROLL);
      ArrayAdapter<String> adapter = (new ArrayAdapter<String>(Nexttopic.this, R.layout.row_topic, R.id.child_row,tnamelist));
      lvForDialog.setAdapter(adapter);    

它不工作..

4

4 回答 4

2

只需删除这个:

dialogMarketList.requestWindowFeature(Window.FEATURE_NO_TITLE);

编辑答案:

在此处输入图像描述

使用这种方式:

LayoutInflater inflater = (LayoutInflater) getSystemService(Context.LAYOUT_INFLATER_SERVICE);
        viewList = getLayoutInflater().inflate(R.layout.activity_main_, null);
        dialogMarketList = new Dialog(MainActivity.this);
        dialogMarketList.requestWindowFeature(Window.FEATURE_NO_TITLE);
        dialogMarketList.setTitle("TOPICS");
        dialogMarketList.setContentView(viewList);
        dialogMarketList.show();
        ListView lvForDialog = (ListView) viewList.findViewById(R.id.listView1);

        header = inflater.inflate(R.layout.header, null);

        lvForDialog.addHeaderView(header);
        lvForDialog.setTranscriptMode(ListView.TRANSCRIPT_MODE_ALWAYS_SCROLL);
        ArrayAdapter<String> adapter = (new ArrayAdapter<String>(
                MainActivity.this, android.R.layout.simple_list_item_1, a));
        lvForDialog.setAdapter(adapter);

header.xml

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="fill_parent"
    android:layout_height="fill_parent"
    android:gravity="center"
    android:orientation="horizontal" >

    <ImageView
        android:id="@+id/imageView1"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:src="@drawable/ic_launcher" />

    <TextView
        android:id="@+id/textView1"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:gravity="center"
        android:text="my title"
        android:textAppearance="?android:attr/textAppearanceLarge" />


第二次编辑:

滚动使用下面的代码时避免标题上升。

AlertDialog.Builder builder = new AlertDialog.Builder(MainActivity.this);
        builder.setTitle("my Title");
        builder.setIcon(getResources().getDrawable(R.drawable.ic_launcher));

        builder.setAdapter(new ArrayAdapter<String>(MainActivity.this,
                R.layout.row, R.id.child_row, items),
                new DialogInterface.OnClickListener() {

                    @Override
                    public void onClick(DialogInterface dialog, int which) {
                        // TODO Auto-generated method stub


                    }
                });

        builder.show();
于 2013-04-18T07:10:59.730 回答
0

代码中的以下命令会禁用对话框中的标题:

dialogMarketList.requestWindowFeature(Window.FEATURE_NO_TITLE);

如果删除它,您应该会看到带有标题的对话框。

于 2013-04-18T07:11:28.260 回答
0

您可能想向列表视图添加标题吗?

看看添加这个答案 https://stackoverflow.com/a/10730786/1293704

可以找到许多教程如何添加标题。

于 2013-04-18T07:12:50.767 回答
0

尝试添加headerView你的listView,你需要在打电话之前做setAdapter()

什么文档说/

public void addHeaderView (View v)

*添加固定视图以显示在列表顶部。如果 addHeaderView 被多次调用,视图将按照添加的顺序出现。如果需要,使用此调用添加的视图可以成为焦点。注意:在调用 setAdapter 之前调用它。这样 ListView 就可以将提供的光标与一个也将考虑页眉和页脚视图的光标包装起来。

于 2013-04-18T07:13:44.393 回答