1
因此,我有一個ImageAdapter
,我需要在2個不同的佈局中使用2 ListView
。我首先使用它,然後想要過濾數組,然後將這些值放入另一個我用於第二個listview的數組。篩選陣列列表以用於映像適配器
我的圖像適配器
package com.weinco.list;
import android.util.Log;
import android.view.LayoutInflater;
import android.view.View;
import android.view.View.OnClickListener;
import android.view.ViewGroup;
import android.widget.BaseAdapter;
import android.widget.ImageButton;
import android.widget.ImageView;
import android.widget.TextView;
import com.androidquery.AQuery;
import com.weinco.R;
import com.weinco.fragments.StandorteFragment;
import com.weinco.webservice.entity.Standort;
import com.weinco.webservice.entity.Standorts;
public class LocationMenuAdapter extends BaseAdapter {
private LayoutInflater mInflater;
private AQuery aQuery;
private Standorts standorts;
private Standort standort;
private StandorteFragment standorteFragment;
public LocationMenuAdapter(StandorteFragment standorteFragment, Standorts standorts) {
this.standorteFragment = standorteFragment;
this.standorts = standorts;
this.aQuery = standorteFragment.aQuery;
mInflater = LayoutInflater.from(standorteFragment.getActivity());
}
public int getCount() {
return standorts.size();
}
public Object getItem(int position) {
return position;
}
public long getItemId(int position) {
return position;
}
public Standort getStandort(int i) {
return standorts.get(i);
}
public View getView(int position, View convertView, ViewGroup parent) {
ListContent holder = null;
Standort standort = getStandort(position);
if (convertView == null) {
convertView = mInflater.inflate(R.layout.listviewinflate, null);
holder = new ListContent();
holder.text = (TextView) convertView.findViewById(R.id.TextView01);
convertView.setTag(holder);
} else {
holder = (ListContent) convertView.getTag();
}
holder.text.setText(standort.Name);
return convertView;
}
class ListContent {
TextView text;
}
}
,我使用
loadLocationMenuList();
loadBussinessLunchLoc();
private void loadBussinessLunchLoc() {
ServiceProxy.createWebServiceTask(getActivity(), new RemoteCallListener() {
@Override
public void onRemoteCallError(String response) {
// TODO Auto-generated method stub
}
@Override
public void onRemoteCallComplete(Object response) {
Log.d("debug", "response is = " + response + "\t" + response.getClass());
Standorts standorts = (Standorts) response;
for(Standort standort : standorts)
{
if(standort.BusinessLunch==true){
filteredstandorts.add(standort);
}
}
locationMenuAdapter = new LocationMenuAdapter(StandorteFragment.this, filteredstandorts);
menuItemListLoc2page.setAdapter(locationMenuAdapter);
}
@Override
public void onNoInternetError() {
// TODO Auto-generated method stub
}
@Override
public void onNoAccess() {
// TODO Auto-generated method stub
}
}, true).invokeGetStandorte();
}
private void loadLocationMenuList() {
ServiceProxy.createWebServiceTask(getActivity(), new RemoteCallListener() {
@Override
public void onRemoteCallError(String response) {
// TODO Auto-generated method stub
}
@Override
public void onRemoteCallComplete(Object response) {
Log.d("debug", "response is = " + response + "\t" + response.getClass());
Standorts standorts = (Standorts) response;
locationMenuAdapter = new LocationMenuAdapter(StandorteFragment.this, standorts);
menuItemListLoc.setAdapter(locationMenuAdapter);
}
@Override
public void onNoInternetError() {
// TODO Auto-generated method stub
}
@Override
public void onNoAccess() {
// TODO Auto-generated method stub
}
}, true).invokeGetStandorte();
}
我得到下一個logcat的日誌功能:
08-01 11:06:04.171: E/AndroidRuntime(16286): FATAL EXCEPTION: main
08-01 11:06:04.171: E/AndroidRuntime(16286): java.lang.NullPointerException
08-01 11:06:04.171: E/AndroidRuntime(16286): at com.weinco.list.LocationMenuAdapter.getCount(LocationMenuAdapter.java:37)
08-01 11:06:04.171: E/AndroidRuntime(16286): at android.widget.ListView.setAdapter(ListView.java:454)
08-01 11:06:04.171: E/AndroidRuntime(16286): at com.weinco.fragments.StandorteFragment$10.onRemoteCallComplete(StandorteFragment.java:283)
08-01 11:06:04.171: E/AndroidRuntime(16286): at com.weinco.webservice.CallWebServiceTask.onPostExecute(CallWebServiceTask.java:543)
08-01 11:06:04.171: E/AndroidRuntime(16286): at com.weinco.webservice.CallWebServiceTask.onPostExecute(CallWebServiceTask.java:1)
08-01 11:06:04.171: E/AndroidRuntime(16286): at android.os.AsyncTask.finish(AsyncTask.java:417)
08-01 11:06:04.171: E/AndroidRuntime(16286): at android.os.AsyncTask.access$300(AsyncTask.java:127)
08-01 11:06:04.171: E/AndroidRuntime(16286): at android.os.AsyncTask$InternalHandler.handleMessage(AsyncTask.java:429)
08-01 11:06:04.171: E/AndroidRuntime(16286): at android.os.Handler.dispatchMessage(Handler.java:99)
08-01 11:06:04.171: E/AndroidRuntime(16286): at android.os.Looper.loop(Looper.java:130)
08-01 11:06:04.171: E/AndroidRuntime(16286): at android.app.ActivityThread.main(ActivityThread.java:3744)
08-01 11:06:04.171: E/AndroidRuntime(16286): at java.lang.reflect.Method.invokeNative(Native Method)
08-01 11:06:04.171: E/AndroidRuntime(16286): at java.lang.reflect.Method.invoke(Method.java:507)
08-01 11:06:04.171: E/AndroidRuntime(16286): at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:860)
08-01 11:06:04.171: E/AndroidRuntime(16286): at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:618)
08-01 11:06:04.171: E/AndroidRuntime(16286): at dalvik.system.NativeStart.main(Native Method)
我沒有IDEEA我有什麼做的糾正這一點,我在網上搜索了一些過濾器,但是我發現的是比android更多的java,並且我可以真正理解什麼是t嘿,正在做。
您應該添加您的logcat輸出,以便我們可以得到關閉的力量的起源。 – 2012-07-31 11:58:39
沒有更多的強制關閉,所以LogCat不會幫助。我使用相同的行數獲得第二個列表,但不是擁有街道,所有行只是說「False」 – 2012-07-31 13:09:29
您究竟如何過濾這些值,查看您使用的代碼基本上是相同的代碼? – Luksprog 2012-07-31 17:25:21