标签: android-listview

Android - 适配器中的ListView出错:java.lang.NullPointerException

我在显示列表视图时遇到此错误.问题在于适配器,但我找不到解决方案.这在我的logcat中:

FATAL EXCEPTION: main
java.lang.NullPointerException
at com.client.alm.WorkItemAdapter.getView(WorkItemAdapter.java:68)
at android.widget.AbsListView.obtainView(AbsListView.java:2159)
at android.widget.ListView.measureHeightOfChildren(ListView.java:1246)
at android.widget.ListView.onMeasure(ListView.java:1158)
at android.view.View.measure(View.java:15513)
at android.view.ViewGroup.measureChildWithMargins(ViewGroup.java:4827)
Run Code Online (Sandbox Code Playgroud)

这是我的适配器:

import java.util.List;

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.ImageView;
import android.widget.TextView;

import com.client.alm.model.WorkItem;
import com.client.alm.model.WorkItemContainer;

public class WorkItemAdapter extends ArrayAdapter<WorkItem> {

    private WorkItemContainer container;
    private Context context;
    int layoutResourceId;

    public WorkItemAdapter(Context context, int layoutResourceId,
            WorkItemContainer container) {
        super(context, layoutResourceId, container.getWorkitems());
        this.layoutResourceId = layoutResourceId;
        this.context = context;
        this.container = container;
    }

    static class ViewHolder {
        ImageView …
Run Code Online (Sandbox Code Playgroud)

android android-arrayadapter android-listview

0
推荐指数
1
解决办法
1885
查看次数

ListView适配器getView()获取错误的项目

我有一个ListView,我输入以下代码来查看我的BaseAdapter的getView()过程.

@Override

public View getView(int position, View convertView, ViewGroup parent) {

    Log.d("getView()","Fetching Row: " + position);
    ...
}
Run Code Online (Sandbox Code Playgroud)

当我慢慢向下滚动列表时,我注意到发生了一些奇怪的事情.即使我在列表位置40-50ish,它仍然调用getView()的位置为0-7.这是我的日志的样子:

05-14 11:46:13.989: I/getView()(18681): Fetching Row: 45
05-14 11:46:14.039: I/getView()(18681): Fetching Row: 0
05-14 11:46:14.049: I/getView()(18681): Fetching Row: 1
05-14 11:46:14.049: I/getView()(18681): Fetching Row: 2
05-14 11:46:14.049: I/getView()(18681): Fetching Row: 3
05-14 11:46:14.059: I/getView()(18681): Fetching Row: 4
05-14 11:46:14.059: I/getView()(18681): Fetching Row: 5
05-14 11:46:14.059: I/getView()(18681): Fetching Row: 6
05-14 11:46:14.069: I/getView()(18681): Fetching Row: 7
05-14 11:46:14.320: I/getView()(18681): Fetching Row: 46
05-14 …
Run Code Online (Sandbox Code Playgroud)

android android-listview

0
推荐指数
1
解决办法
2446
查看次数

Android中的可转换列表视图

我正在尝试在列表视图中获取可索引列表.我提到了这个.但是在使用代码时,我在StringMatcher类中使用韩语字符时遇到错误.谁能解释一下这门课的用法?英语字符也需要这个课程吗?

提前致谢.

android android-listview

0
推荐指数
1
解决办法
1938
查看次数

ListView将按钮推出屏幕

我试图让ListView保持相同的大小,即使它溢出.但是,一旦ListView溢出,它就会将屏幕下方的按钮按下.如何防止它推动其下方的其他元素?

从上面的图像中可以看出,第二个显示一旦ListView溢出,按钮就会被推离屏幕.

XML

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout
xmlns:android="http://schemas.android.com/apk/res/android"
android:background="@color/splash_bg"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:orientation="vertical" >

<LinearLayout 
    android:background="@color/splash_bg"
    android:layout_width="fill_parent"
    android:layout_height="wrap_content"
    android:gravity="center"
    android:padding="10dp"
    android:orientation="vertical" >

    <TextView
        android:id="@+id/subtitle"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:gravity="center"
        android:textSize="20sp"
        android:paddingBottom="10dp"
        android:textColor="@color/splash_text"
        android:text="@string/sub" />

    <EditText 
        android:id="@+id/grp_name"
        android:layout_width="fill_parent"
        android:layout_height="wrap_content"
        android:hint="@string/field1"
        android:lines="1" />

    <LinearLayout
        android:layout_width="fill_parent"
        android:layout_height="fill_parent"
        android:orientation="vertical" >

        <TextView
            android:id="@+id/members"
            android:layout_width="wrap_content"
            android:layout_height="fill_parent"
            android:textSize="15sp"
            android:paddingTop="5dp"
            android:textColor="@color/splash_text"
            android:text="@string/members" />

        <LinearLayout
            android:layout_width="fill_parent"
            android:layout_height="fill_parent"
            android:background="@color/splash_bg"
            android:orientation="horizontal" >

            <EditText
                android:id="@+id/name"
                android:layout_width="0dip"
                android:layout_height="wrap_content"
                android:layout_weight="1"
                android:hint="@string/field2" />

            <Button
                android:id="@+id/add"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:text="@string/add" />

        </LinearLayout>

        <ListView
            android:id="@android:id/list"
            android:layout_width="fill_parent"
            android:layout_height="wrap_content"
            android:paddingLeft="5dp"
            android:background="@color/splash_bg" />

    </LinearLayout> …
Run Code Online (Sandbox Code Playgroud)

android android-listview

0
推荐指数
1
解决办法
1739
查看次数

首先AsycTask尝试让我感到恐惧

我试图让我的操作栏完成对api的搜索并解析json结果.

我把asycTask放在一起像这样:

private class ReadJSONResult extends AsyncTask
        <String, Void, String> {
            protected String doInBackground(String... urls) {
                return readJSONFeed(urls[0]);
            }

            protected void onPostExecute(String result) {
                try {

                    ///get 
                    JSONObject jsonObject = new JSONObject(result);
                    JSONObject weatherObservationItems = 
                        new JSONObject(jsonObject.getString("JSON"));

                    Toast.makeText(getBaseContext(), 
                        weatherObservationItems.getString("totalResults"), 
                     Toast.LENGTH_SHORT).show();


                } catch (Exception e) {
                    Log.d("ReadWeatherJSONFeedTask", e.getLocalizedMessage());
                }          
            }
        }

        //gets the json from the inputed url
        public String readJSONFeed(String URL) {
            StringBuilder stringBuilder = new StringBuilder();
            HttpClient httpClient = new DefaultHttpClient();
            HttpGet httpGet = new HttpGet(URL);
            try {
                HttpResponse …
Run Code Online (Sandbox Code Playgroud)

android json android-listview android-asynctask

0
推荐指数
1
解决办法
331
查看次数

将listView id与android中的findViewby()相关联的麻烦

我正在尝试填充列表视图,并尝试在我的主要选择我的列表视图:

lv = (ListView) findViewById(R.layout.activity_main.xml.id);
Run Code Online (Sandbox Code Playgroud)

我的XML文件夹结构是:

RES>布局> activity_main.xml中

我的main_activity.xml文件看起来像这样:

<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:tools="http://schemas.android.com/tools"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:paddingBottom="@dimen/activity_vertical_margin"
    android:paddingLeft="@dimen/activity_horizontal_margin"
    android:paddingRight="@dimen/activity_horizontal_margin"
    android:paddingTop="@dimen/activity_vertical_margin"
    tools:context=".MainActivity" >

    <ListView
        android:id="@android:id/list"
        android:layout_width="fill_parent"
        android:layout_height="wrap_content"
        android:layout_alignParentBottom="true"
        android:layout_alignParentRight="true" >
    </ListView>

</RelativeLayout>
Run Code Online (Sandbox Code Playgroud)

我认为这是一个简单的错误,我没有完全理解xml id值如何在android中工作.

xml android android-listview android-xml

0
推荐指数
1
解决办法
202
查看次数

获取ListView的索引位置单击项目不获取字符串值

我试图将KEY_TITLE的值从一个活动传递到另一个活动,使用点击List Item我点击的特定行标题,在我的情况下我试图传递这个值:static final String KEY_TITLE ="title"; 从OldEventActivityOldUploadActivity但总是我得到"索引位置,如:0,1",没有得到实际的字符串KEY_TITLE.

OldEventActivity.java:

        final ArrayList<HashMap<String, String>> itemsList = new ArrayList<HashMap<String, String>>();

        @Override
        protected ArrayList<HashMap<String, String>> doInBackground(
                String... params) {
            HttpClient client = new DefaultHttpClient();
            // Perform a GET request for a JSON list
            HttpUriRequest request = new HttpGet(URL);
            // Get the response that sends back
            HttpResponse response = null;
            try {
                response = client.execute(request);
            } catch (ClientProtocolException e1) {
                // TODO Auto-generated catch block
                e1.printStackTrace(); …
Run Code Online (Sandbox Code Playgroud)

android android-listview

0
推荐指数
1
解决办法
1857
查看次数

Listview headerView和pull to refresh - android

我正在使用这个库为我的应用程序添加pull to refresh实现,我的app的listview还包含headerview或listheader视图list.addHeaderView(headerView);

但是我收到了一个错误 The method addHeaderView(View) is undefined for the type PullToRefreshListView

也许班级不存在?:0还是有解决方法?

谢谢!

java xml android android-listview

0
推荐指数
1
解决办法
1837
查看次数

将Youtube Gdata json解析为ListView

我一直试图在Android中找到一个"解析Youtube Gdata JSON"的工作示例来填充列表视图.

我一直在阅读这个问题,除了4个错误之外我几乎都有工作.

  1. ITEM_TITLE
  2. item_subtitle
  3. setListAdapter
  4. getListView

    import android.app.Activity;
    import android.os.Bundle;
    import android.util.Log;
    import android.view.Menu;
    import android.view.View;
    import android.widget.AdapterView;
    import android.widget.ListAdapter;
    import android.widget.ListView;
    import android.widget.SimpleAdapter;
    import android.widget.Toast;
    import org.json.JSONArray;
    import org.json.JSONException;
    import org.json.JSONObject;
    import java.util.ArrayList;
    import java.util.HashMap;
    
    public class listview extends Activity {
    
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.listview_main);
    
    ArrayList<HashMap<String, String>> mylist = new ArrayList<HashMap<String, String>>();
    
    //Get the data (see above)
    JSONObject json = getJSON.getJSONfromURL("https://gdata.youtube.com/feeds/api/videos?q=random&max-results=50&v=2&alt=jsonc");
    
    
    try{
    
    
    
        final JSONArray array = json.getJSONArray("items");
    
        //Loop the Array
        for(int …
    Run Code Online (Sandbox Code Playgroud)

android json android-listview

0
推荐指数
1
解决办法
4664
查看次数

ListView + ImageButton + descendantFocusability

我有一个listview,我添加了1个图像按钮的行..我试图设置图像按钮setfocusable false但仍然无法正常工作..

item_list.xml

<?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="160dp"
          android:descendantFocusability="blocksDescendants"
          android:id="@+id/RL_item">

    <ImageButton
            android:layout_width="200dp"
            android:layout_height="fill_parent"
            android:id="@+id/imageButton"
            android:layout_alignParentTop="true"
            android:layout_alignParentLeft="true"
            android:layout_alignParentBottom="true" />

    <LinearLayout
            android:layout_width="fill_parent"
            android:layout_height="wrap_content"
            android:id="@+id/LL_Installed"
            android:layout_alignRight="@+id/textView2"
            android:layout_alignBottom="@+id/textView"
            android:layout_alignParentBottom="true"
            android:paddingBottom="@dimen/item_list_left_right"
            android:paddingLeft="@dimen/item_list_left_right"
            android:focusable="false"
            android:focusableInTouchMode="false">

        <ImageView
                android:layout_width="20dp"
                android:layout_height="20dp"
                android:id="@+id/imageView"
                android:background="@drawable/tick"
                android:focusable="false"
                android:focusableInTouchMode="false"/>

        <TextView

                android:layout_height="fill_parent"
                android:textAppearance="?android:attr/textAppearanceMedium"
                android:text="@string/list_item_installed"
                android:id="@+id/textView3"
                android:paddingLeft="6dp"
                android:textColor="#ffffff"
                style="@style/TextShadow"
                android:gravity="center_vertical|fill_vertical"
                android:layout_weight="1"
                android:layout_width="0dip"
                android:focusable="false"
                android:focusableInTouchMode="false"/>

    </LinearLayout>

    <ProgressBar
            style="?android:attr/progressBarStyleHorizontal"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:id="@+id/progressBar"
            android:layout_centerVertical="true"
            android:layout_alignParentLeft="true"
            android:layout_alignParentRight="true"
            android:visibility="invisible"
            android:focusable="false"
            android:focusableInTouchMode="false"/>

    <TextView
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:textAppearance="?android:attr/textAppearanceMedium"
            android:text=""
            android:id="@+id/textView2"
            android:layout_alignParentTop="true"
            android:layout_alignParentRight="true"
            style="@style/TextShadow"
            android:paddingTop="@dimen/item_list_top"
            android:paddingRight="@dimen/item_list_left_right"
            android:focusable="false"
            android:focusableInTouchMode="false"/>

    <TextView
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:textAppearance="?android:attr/textAppearanceLarge" …
Run Code Online (Sandbox Code Playgroud)

android imagebutton android-listview listview-adapter

0
推荐指数
1
解决办法
8613
查看次数