标签: android-arrayadapter

什么是"android.R.layout.simple_list_item_1"?

我已经开始学习Android开发了,并且正在遵循一本书中的一个todolist示例:

// Create the array list of to do items
final ArrayList<String> todoItems = new ArrayList<String>();

// Create the array adapter to bind the array to the listView
final ArrayAdapter<String> aa;
aa = new ArrayAdapter<String>(  this, 
                                android.R.layout.simple_list_item_1,
                                todoItems
                            );
myListView.setAdapter(aa);
Run Code Online (Sandbox Code Playgroud)

我无法理解这段代码特别是这一行:

android.R.layout.simple_list_item_1
Run Code Online (Sandbox Code Playgroud)

layout android android-arrayadapter

228
推荐指数
7
解决办法
22万
查看次数

"ArrayAdapter需要资源ID为TextView"xml问题

我试图设置我的视图以显示ListView我想要显示的文件(文本文件)时收到错误.我很确定它与xml有关.我只想显示来自的信息this.file = fileop.ReadFileAsList("Installed_packages.txt");.我的代码:

public class Main extends Activity {
    private TextView tv;
    private FileOperations fileop;
    private String[] file;

    /** Called when the activity is first created. */       
    @Override
    public void onCreate(Bundle savedInstanceState) {           
        super.onCreate(savedInstanceState); 
        this.fileop = new FileOperations(); 
        this.file = fileop.ReadFileAsList("Installed_packages.txt"); 
        setContentView(R.layout.main);
        tv = (TextView) findViewById(R.id.TextView01);
        ListView lv = new ListView(this);
        lv.setTextFilterEnabled(true); 
        lv.setAdapter(new ArrayAdapter<String>(this, R.layout.list_item, this.file)); 
        lv.setOnItemClickListener(new AdapterView.OnItemClickListener() { 

              public void onItemClick(AdapterView<?> parent, View view,     int position, long id) { 
                    // When clicked, show a toast …
Run Code Online (Sandbox Code Playgroud)

xml android android-arrayadapter

169
推荐指数
2
解决办法
13万
查看次数

notifyDataSetChanged示例

我正在尝试使用我Android ApplicationnotifyDataSetChanged()方法,ArrayAdapter但它对我不起作用.

我在这里找到答案,notifyDataSetChanged()应该在主线程中运行,但是没有例子.

任何人都可以发送一个例子或至少一个链接?!

android android-arrayadapter notifydatasetchanged

160
推荐指数
4
解决办法
29万
查看次数

如何更新ListView中的单行?

我有一个ListView显示新闻项目.它们包含图像,标题和一些文本.图像被加载到一个单独的线程(带有队列和所有)中,当下载图像时,我现在调用notifyDataSetChanged()列表适配器来更新图像.这是有效的,但是getView()因为notifyDataSetChanged()调用getView()了所有可见的项目而被过于频繁地调用.我想只更新列表中的单个项目.我该怎么做?

我目前使用的方法存在的问题是:

  1. 滚动很慢
  2. 我在图像上有一个淡入动画,每次加载列表中的一个新图像时都会发生这种动画.

android android-arrayadapter android-listview

130
推荐指数
3
解决办法
14万
查看次数

Android ListView标头

我有ListView,它有一些事件.事件按日排序,我希望每天都有标题日期,然后在下面收听事件.

以下是我填充该列表的方式:

ArrayList<TwoText> crs = new ArrayList<TwoText>();

crs.add(new TwoText("This will be header", event.getDate()));

for (Event event : events) {
    crs.add(new TwoText(event.getStartString() + "-" + event.getEndString(), event.getSubject()));
}

arrayAdapter = new TwoTextArrayAdapter(this, R.layout.my_list_item, crs);
lv1.setAdapter(arrayAdapter);
Run Code Online (Sandbox Code Playgroud)

这就是我的类TwoText看起来的样子:

public class TwoText {
    public String classID;
    public String state;

    public TwoText(String classID, String state) {
        this.classID = classID;
        this.state = state;
    }
}
Run Code Online (Sandbox Code Playgroud)

这就是我的TwoTextArrayAdapter类的外观:

import java.util.ArrayList;
import android.app.Activity;
import android.content.Context;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import android.widget.ArrayAdapter;
import android.widget.TextView;

public class TwoTextArrayAdapter extends …
Run Code Online (Sandbox Code Playgroud)

java android listview header android-arrayadapter

121
推荐指数
2
解决办法
12万
查看次数

在创建自己的自定义适配器时,getView()方法如何工作?

我的问题是:

  1. LayoutInflater的功能究竟是什么?
  2. 为什么我读过的所有文章都会检查convertview是否为null?当它为空时它意味着什么?它不是什么意思?
  3. 此方法接受的父参数是什么?

android android-arrayadapter layout-inflater android-view

100
推荐指数
4
解决办法
11万
查看次数

BaseAdapter和ArrayAdapter有什么区别?

我想知道使用BaseAdapter和之间的区别ArrayAdapter.

我一直在实现我想要的东西ArrayAdapters.

它是否会影响ListView实现它的适配器接口的性能?

而且,最后一个问题是,我能否实现ListView使用其中任何一项所做的任何事情Adapters,或者,在某些情况下,只能使用特定的适配器?

performance android listview android-arrayadapter baseadapter

99
推荐指数
5
解决办法
5万
查看次数

无法在ListView中修改ArrayAdapter:UnsupportedOperationException

我正在尝试制作一个包含名字的列表.此列表应该是可修改的(添加,删除,排序等).但是,每当我尝试更改ArrayAdapter中的项目时,程序都会崩溃,并显示java.lang.UnsupportedOperationException错误.这是我的代码:

ListView panel = (ListView) findViewById(R.id.panel);
String[] array = {"a","b","c","d","e","f","g"};
final ArrayAdapter<String> adapter = new ArrayAdapter<String>(this,
android.R.layout.simple_list_item_1, array);
adapter.setNotifyOnChange(true);
panel.setAdapter(adapter);

Button button = (Button) findViewById(R.id.button);
button.setOnClickListener(new OnClickListener() {
   @Override
   public void onClick(View v) {
      adapter.insert("h", 7);
   }
});
Run Code Online (Sandbox Code Playgroud)

我尝试了插入,删除和清除方法,但没有一个工作.有人会告诉我我做错了什么吗?

android android-arrayadapter

94
推荐指数
1
解决办法
4万
查看次数

使用ListAdapter填充ScrollView布局中的LinearLayout

我面临一个非常普遍的问题:我制定了一项活动,现在事实证明它应该显示一些项目ScrollView.正常的方法是使用现有的ListAdapter,将它连接到一个ListViewBOOM我有我的项目列表.

但是你不应该把它嵌套ListView在一个,ScrollView因为它搞砸了滚动 - 甚至Android Lint抱怨它.

所以这是我的问题:

如何将a连接ListAdapterLinearLayout类似的东西?

我知道这个解决方案不会针对很多项目进行扩展,但我的列表很短(<10项),因此不需要重新查看视图.性能明智我可以将所有视图直接放入LinearLayout.

我想出的一个解决方案是将我现有的活动布局放在.的headerView部分ListView.但这感觉就像滥用这种机制所以我正在寻找一个更清洁的解决方案.

想法?

更新:为了激发正确的方向,我添加了一个示例布局来显示我的问题:

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


    <ScrollView
            android:layout_width="fill_parent"
            android:layout_height="fill_parent"
            android:background="#FFF"
            >

        <LinearLayout
                android:layout_width="fill_parent"
                android:layout_height="fill_parent"
                android:orientation="vertical"
                android:paddingLeft="@dimen/news_detail_layout_side_padding"
                android:paddingRight="@dimen/news_detail_layout_side_padding"
                android:paddingTop="@dimen/news_detail_layout_vertical_padding"
                android:paddingBottom="@dimen/news_detail_layout_vertical_padding"
                >

            <TextView
                    android:id="@+id/news_detail_date"
                    android:layout_height="wrap_content"
                    android:layout_width="fill_parent"
                    android:gravity="center_horizontal"
                    android:text="LALALA"
                    android:textSize="@dimen/news_detail_date_height"
                    android:textColor="@color/font_black"
                    />

            <Gallery
                    android:id="@+id/news_detail_image"
                    android:layout_height="wrap_content"
                    android:layout_width="fill_parent"
                    android:paddingTop="5dip"
                    android:paddingBottom="5dip"
                    />

            <TextView
                    android:id="@+id/news_detail_headline"
                    android:layout_height="wrap_content"
                    android:layout_width="fill_parent"
                    android:gravity="center_horizontal"
                    android:text="Some awesome …
Run Code Online (Sandbox Code Playgroud)

android android-arrayadapter android-layout

93
推荐指数
2
解决办法
4万
查看次数

ListView的Android自定义行项目

我有一个ListView,其行中应该有以下布局:

HEADER
Text
Run Code Online (Sandbox Code Playgroud)

HEADER应该是静态的,但Text每隔几秒就会发生变化.

我通过填充a来实现它String[] array,将其传递给a ArrayAdapter并在每次数据更改时设置它:

data_array = populateString();
adapter = new ArrayAdapter<String>(this, android.R.layout.simple_list_item_1, android.R.id.text1,  data_array);
listView.setAdapter(adapter);
Run Code Online (Sandbox Code Playgroud)

我的问题是我不知道如何以上面的格式显示数据.

提前致谢.

java android android-arrayadapter android-layout android-listview

74
推荐指数
3
解决办法
13万
查看次数