- iOS/Objective-C 元类和类别
- objective-c - -1001 错误,当 NSURLSession 通过 httpproxy 和/etc/hosts
- java - 使用网络类获取 url 地址
- ios - 推送通知中不播放声音
我正在尝试在其他一些小部件(按钮、editText 等)下设置一个 ListView 。我不想为 ListView 使用其他 Activity 。读了一些我发现 How can I implement a ListView without ListActivity? (use only Activity)我尝试这样做,结果是:这是我的 main.xml:
<LinearLayout android:id="@+id/relativeLayout1"
xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="fill_parent" android:layout_height="wrap_content"
android:orientation="vertical">
<TextView ...[some code].../>
<EditText ...[some code].../>
<ImageButton ...[some code].../>
<Chronometer ..[some code]..../>
<ListView android:id="@+id/listView1" android:layout_height="wrap_content"
android:layout_width="fill_parent"></ListView>
这是我的onCreate:
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
button1 = (ImageButton) findViewById(R.id.button1);
mChronometer = (Chronometer) findViewById(R.id.chronometer1);
editText1 = (EditText) findViewById(R.id.editText1);
ListView lv = (ListView) findViewById(R.id.listView1);
String[] listword = new String[] {"Hello","World","Foo","Bar"};
lv.setAdapter(new ArrayAdapter<String>(this, R.layout.list_item, listword));
}
这里是 list_item.xml
<?xml version="1.0" encoding="utf-8"?>
<TextView xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:padding="10dp"
android:textSize="16sp" >
</TextView>
当我在我的物理设备上进行调试时,应用程序只是保持全黑。如果我注释掉涉及列表的 onCreate() 行,应用程序将工作(显然没有 ListView )。有什么想法可能是错的吗?
最佳答案
我实际上有一个带有 ListView 的应用程序,它位于一些 TextView 下方和两个按钮上方,让我获取我的代码!
这是我在 TextView 下方和按钮上方使用 ListView 的 Activity (为简洁起见,删除了很多内容):
public class BNYDirectoryResults extends Activity{
public static String[] stuff;
ListView list;
BNYAdapter adapter;
/** Called when the activity is first created. */
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.resultscreen);
TextView headDisplay = (TextView)findViewById(R.id.results);
TextView headCount = (TextView)findViewById(R.id.resultsTotal);
TextView headPages = (TextView)findViewById(R.id.pages);
//Set up the results list, see BNYAdapter
list = (ListView)findViewById(R.id.list);
adapter = new BNYAdapter (this, BNYDirectory.ReturnResults);
list.setAdapter(adapter);
//Sets up header information (pages, total results)
//Just some stuff to change the TextViews
//Passes EmployeeID and Phone Number to AND opens the details page
list.setOnItemClickListener(new OnItemClickListener(){
public void onItemClick(AdapterView<?> parent, View view, int position, long id){
String EID = BNYDirectory.ReturnResults[position][0];
String phoneNumber = BNYDirectory.ReturnResults[position][2];
BNYDirectoryTransaction.doDetails(EID, phoneNumber);
Intent i = new Intent(view.getContext(), BNYDirectoryDetails.class);
startActivity(i);
}
});
}
}
这是它的 XML 文件:
<TextView
android:id="@+id/results"
android:text="Name"
android:gravity="center"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:layout_weight="1" android:textStyle="bold"/>
<TextView
android:id="@+id/resultsTotal"
android:text="Phone"
android:gravity="center"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:layout_weight="1" android:textStyle="bold"/>
<TextView
android:id="@+id/pages"
android:text="AIM"
android:gravity="center"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:layout_weight="1" android:textStyle="bold"/>
</LinearLayout>
<LinearLayout
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:orientation="horizontal">
<TextView
android:id="@+id/name"
android:text="Name"
android:gravity="center"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_weight="1" />
<TextView
android:id="@+id/phone"
android:text="Phone"
android:gravity="center"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_weight="1" />
<TextView
android:id="@+id/aim"
android:text="AIM"
android:gravity="center"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_weight="1" />
<TextView
android:id="@+id/dept"
android:text="Dept"
android:gravity="center"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_weight="1" />
</LinearLayout>
<ListView
android:id="@+id/list"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:layout_weight="1"/>
<LinearLayout
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:orientation="horizontal">
<Button
android:id="@+id/prevButton"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:text="Previous"
android:layout_weight="1"/>
<Button
android:id="@+id/nextButton"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:text="Next"
android:layout_weight="1"/>
</LinearLayout>
</LinearLayout>
这是列表的自定义适配器:
import android.app.Activity;
import android.content.Context;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import android.widget.BaseAdapter;
import android.widget.TextView;
public class BNYAdapter extends BaseAdapter {
private Activity activity;
private String[][] results;
private static LayoutInflater inflater=null;
public BNYAdapter(Activity a, String[][]info) {
activity = a;
results = info;
inflater = (LayoutInflater)activity.getSystemService(Context.LAYOUT_INFLATER_SERVICE);
}
public int getCount() {
return results.length;
}
public Object getItem(int position) {
return position;
}
public long getItemId(int position) {
return position;
}
public static class ViewHolder{
public TextView name;
public TextView phone;
public TextView aim;
public TextView dept;
}
public View getView(int position, View convertView, ViewGroup parent) {
View vi=convertView;
ViewHolder holder;
if(convertView==null){
vi = inflater.inflate(R.layout.item, null);
holder=new ViewHolder();
holder.name=(TextView)vi.findViewById(R.id.nameItem);
holder.phone=(TextView)vi.findViewById(R.id.phoneItem);
holder.aim=(TextView)vi.findViewById(R.id.aimItem);
holder.dept=(TextView)vi.findViewById(R.id.deptItem);
vi.setTag(holder);
}
else
holder=(ViewHolder)vi.getTag();
holder.name.setText(BNYDirectory.ReturnResults[position][1]);
holder.phone.setText(BNYDirectory.ReturnResults[position][2]);
holder.aim.setText(BNYDirectory.ReturnResults[position][3]);
holder.dept.setText(BNYDirectory.ReturnResults[position][4]);
return vi;
}
}
所有这些一起构成了一个类似 的页面
关于android - 没有 ListActivity 的 ListView,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6698731/
在 Android 应用程序中,“ListActivity”可以作为主要 Activity 吗? 最佳答案 是的,您可以使用 ListActivity 作为您应用的主要 Activity 。只需将其定
我正在尝试创建一个 ListActivity,其行包含文本和图像。但它只显示一行的值,其他行的图像和文本是不可见的。当我调试代码时,它们的值不为空。但它显示行,但除了第一行之外,在布局上不显示这些文本
我有一个基本的 ListActivity 和一些假测试数据。当我运行该应用程序时,它立即崩溃。我尝试调试但没有得到任何反馈。它在说开始后就停止了: Intent 。 public class Pers
如何制作一个包含图片和摘要(项目列表文本下的文本)的列表,它对项目的描述很少。 我的代码制作了一个包含图片的列表。如何添加摘要? Activity 类别: public clas
当我尝试设置 listAdapter 或适配器(#setListAdapter(), #getListView().setAdapter())时,它不显示。当我尝试单独设置 ListView 时,它工
我需要在同一 Activity 中插入来自两个列表(从游标填充)的数据。 布局必须是: -TextView1-从 table1 游标列表 -TextView2-从 table2 游标列表 这可能吗?
鉴于我下面的 xml 文件,当我的对象列表不为空时,我想显示 ListView,当我的列表为空时,我想显示 ViewStub。我可以让它工作,但每当我改变屏幕方向时,我都会丢失我添加到列表中的新数据。
我的 Android 应用程序中有一个运行良好的 ListActivity。直到我决定使用加速度计添加滚动功能。 这是我的代码: package be.pxl.minecraftguide; impo
我有以下 ListActivity: public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanc
有人知道使用 CursorAdapter 的简单示例吗?这是我现在正在做的事情,它因 RuntimeException 而崩溃。鉴于我是新手并且找不到使用 Cursor 的 ListView 的任何简
我正在使用 ListActivity 来显示图标化列表(使用 BaseAdapter 的自定义实现)。它没有正确地重新加载数据。当我更改适配器的内容并通知列表时,似乎旧数据绘制在新数据之上,直到发生滚
我在使用带有自定义适配器的 ListActivity 时遇到了问题。这是适配器代码: public class CustomRowAdapter extends BaseAdapter { p
所以,我在这里有我的 onCreate 方法,用于使用用户安装的应用程序填充 ListView。这需要很长时间才能完成,我试图弄清楚在哪里创建一个新线程来完成一些繁重的工作,以便我可以在加载列表时显示
我可以在从外部 XML 资源加载内容后更新 ListActivity 吗:/? SUB() 是 ListActivity Main() -> opening: SUB() -> updating fr
我正在构建一个小型应用程序,我想在新数据到达时自动更新它。 根据我阅读的 android 文档,我认为因为我使用的是较新的技术,所以会在后台为我创建一个 ContentObserver,并且我会自动调
我有一个显示玩家信息的 Activity 。这部分工作正常。 (我使用了适配器)。但是,我应该将检测某行何时被单击的代码放在哪里? PlayersActivity.java package com.d
是否可以将 ListActivity 的页眉和页脚设置为固定在顶部和底部,这样只有内容(列表)在滚动,而不是页眉和页脚? 我都是这样设置的: View header = getLayoutInflat
我正在使用兼容性库将现有应用程序转换为 Fragments API。我读到您应该更新扩展 Activity 的类以现在使用 FragmentActivity。这对大多数情况都很好,但是扩展 ListA
我有一个 super 简单的 ActivityList,比如一个包含所有国家/地区的 scoll 列表。现在,我想按大陆对国家进行分组: 阿兹亚 中国 印度 欧洲 法国 希腊 Android 联系人应
我有一个实现 Runnable 的列表 Activity ,因此我的数据获取是通过进度条完成的。数据是从网络服务中提取的。现在,我要获取所有用户,但我想对其进行更改,以便它一次检索用户一页,而不是一次
我是一名优秀的程序员,十分优秀!