我在显示列表视图时遇到此错误.问题在于适配器,但我找不到解决方案.这在我的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) 我有一个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) 我正在尝试在列表视图中获取可索引列表.我提到了这个.但是在使用代码时,我在StringMatcher类中使用韩语字符时遇到错误.谁能解释一下这门课的用法?英语字符也需要这个课程吗?
提前致谢.
我试图让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) 我试图让我的操作栏完成对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) 我正在尝试填充列表视图,并尝试在我的主要选择我的列表视图:
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中工作.
我试图将KEY_TITLE的值从一个活动传递到另一个活动,使用点击List Item我点击的特定行标题,在我的情况下我试图传递这个值:static final String KEY_TITLE ="title"; 从OldEventActivity到OldUploadActivity但总是我得到"索引位置,如: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) 我正在使用这个库为我的应用程序添加pull to refresh实现,我的app的listview还包含headerview或listheader视图list.addHeaderView(headerView);
但是我收到了一个错误 The method addHeaderView(View) is undefined for the type PullToRefreshListView
也许班级不存在?:0还是有解决方法?
谢谢!
我一直试图在Android中找到一个"解析Youtube Gdata JSON"的工作示例来填充列表视图.
我一直在阅读这个问题,除了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)我有一个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)