无法为列表视图添加标题栏
我的屏幕的要求就像在顶部中间有一个标题栏,然后是列表视图,当我尝试这样做时,我无法像我在每个列表项中都有状态名称一样。我只希望在顶部和一次。它的屏幕截图是
<表格布局 xmlns:android="http://schemas.android.com/apk/res/android" 安卓:layout_width =“fill_parent” 安卓:layout_height =“fill_parent” > <表行> <文本视图 安卓:layout_height =“wrap_content” 安卓:layout_width =“fill_parent” 机器人:背景=“#000000” android:text="选择状态" > <表行>
我尝试了很多方法,这是我现在的布局
,我的java代码是
import android.app.ListActivity;
import android.content.Intent;
import android.os.Bundle;
import android.view.View;
import android.widget.ArrayAdapter;
import android.widget.ListView;
import android.widget.Toast;
public class new21 extends ListActivity {
/** Called when the activity is first created. */
public void onCreate(Bundle icicle) {
super.onCreate(icicle);
// Create an array of Strings, that will be put to our ListActivity
String[] names = new String[] { "Andhra Pradesh", "Kerala","Tamilnadu","Karnataka" };
// Use your own layout and point the adapter to the UI elements which
// contains the label
this.setListAdapter(new ArrayAdapter<String>(this, R.layout.new21,
R.id.label, names));
}
@Override
protected void onListItemClick(ListView l, View v, int position, long id) {
super.onListItemClick(l, v, position, id);
// Get the item that was clicked
Object o = this.getListAdapter().getItem(position);
String keyword = o.toString();
if(keyword.equals("Andhra Pradesh"))
{
Intent ima45=new Intent(new21.this,new31.class);
startActivity(ima45);
}
Toast.makeText(this, "You selected: " + keyword, Toast.LENGTH_LONG)
.show();
}
}
任何人都可以帮助我吗?
The requirement for my screen is like having a title bar at the top middle and followed by the list view when am trying to do that am not able to do like i got state name in every list item.I want that only in the top and once. And the screen shot of it is
<?xml version="1.0" encoding="utf-8"?> <TableLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="fill_parent" android:layout_height="fill_parent" > <TableRow> <TextView android:layout_height="wrap_content" android:layout_width="fill_parent" android:background="#000000" android:text="Select State" ></TextView> </TableRow> <TableRow> <TextView android:layout_width="wrap_content" android:layout_height="fill_parent" android:id="@+id/label" android:textSize="30px"></TextView> </TableRow> </TableLayout>
I have tried many ways this is my present layout
and my java code is
import android.app.ListActivity;
import android.content.Intent;
import android.os.Bundle;
import android.view.View;
import android.widget.ArrayAdapter;
import android.widget.ListView;
import android.widget.Toast;
public class new21 extends ListActivity {
/** Called when the activity is first created. */
public void onCreate(Bundle icicle) {
super.onCreate(icicle);
// Create an array of Strings, that will be put to our ListActivity
String[] names = new String[] { "Andhra Pradesh", "Kerala","Tamilnadu","Karnataka" };
// Use your own layout and point the adapter to the UI elements which
// contains the label
this.setListAdapter(new ArrayAdapter<String>(this, R.layout.new21,
R.id.label, names));
}
@Override
protected void onListItemClick(ListView l, View v, int position, long id) {
super.onListItemClick(l, v, position, id);
// Get the item that was clicked
Object o = this.getListAdapter().getItem(position);
String keyword = o.toString();
if(keyword.equals("Andhra Pradesh"))
{
Intent ima45=new Intent(new21.this,new31.class);
startActivity(ima45);
}
Toast.makeText(this, "You selected: " + keyword, Toast.LENGTH_LONG)
.show();
}
}
Can any one help me.
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(4)
您可以像这样向 ListView 添加标题,
其中
R.layout.header
是包含带有文本"Select State"
TextView
的布局<强>更新:
You can addHeader to the ListView like this,
Where
R.layout.header
is the layout that contains aTextView
with text"Select State"
UPDATED:
您的活动中仅使用
ListView
,请删除那里的标题。然后使用ListView.addHeaderViwe();向Listview添加标题。该标题显示在第一项之前。有关更多信息,请参阅文档信息。
Usey only a
ListView
in your activity, remove the heading there. Then useListView.addHeaderViwe();
to add a header to the Listview. This Header is display before the first item.See the documentaton for further information.
你最好使用 ListView.addHeaderViwe();
但不要忘记删除您所做的“扩展 ListActivity”,不需要这样做,
并从“new21.xml”中删除标题
在您的 xml 中,只需修复您想要在列表的每一行中显示的文本项,
you better use ListView.addHeaderViwe();
but don't forget to remove what u did "extends ListActivity", no need for that,
and also remove title from your "new21.xml"
in your xml, just fix the text item u want to show in every row of the list,
你做的完全错误。就拿一个 LinearLayout 加上一个 TextView(用于标题栏)和 ListView(用于显示列表视图),无非就是这 2 个视图。
现在,按照您的代码显示 ListView。
You are doing fully wrong. Just take a LinearLayout with one TextView (for Title bar) and ListView (To display listview), nothing more than these 2 views.
Now, follow your code to display ListView.