Теперь я сталкиваюсь с этой ошибкой, когда пытаюсь заполнить данные json внутри своего списка. FYI, это приложение имеет только одно действие, потому что я использую tabhost и несколько фрагментов. Это из-за того, что я использую фрагмент и tabhost? Я получил это сообщение об ошибке:Android - java.lang.NullPointerException, CustomAdapter.getView (CustomAdapter.java:XX)
02-17 17:24:59.761: E/AndroidRuntime(4095): java.lang.NullPointerException
02-17 17:24:59.761: E/AndroidRuntime(4095): at com.revivalx.xxxxx.popular.HistoryListAdapter.getView(HistoryListAdapter.java:64)
Ошибка произошла в этой строке внутри HistoryListAdapter.java
.
thumbNail.setImageUrl(user.getProfilePhotoUrl(), imageLoader);
Initialize активность (HomeActivity.java)
public class HomeActivity extends ActionBarActivity {
/* everything is coding..*/
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.bottom_tabs);
mTabHost = (FragmentTabHost) findViewById(android.R.id.tabhost);
mTabHost.setup(this, getSupportFragmentManager(), R.id.realtabcontent);
b = new Bundle();
b.putString("key", "History");
mTabHost.addTab(mTabHost.newTabSpec(TAB_2_TAG).setIndicator("History",getResources().getDrawable(R.drawable.tab_two)), HistoryFragment.class, b);
mTabHost.getTabWidget().getChildAt(1).setBackgroundColor(Color.parseColor("#D6D5D6"));
/* everything is coding..*/
}
/* everything is coding..*/
}
Я уже замечаю, какая часть ошибка происходит.
HistoryListAdapter.java
public class HistoryListAdapter extends BaseAdapter {
private LayoutInflater inflater;
private List<User> users;
ImageLoader imageLoader = AppController.getInstance().getImageLoader();
public HistoryListAdapter(Activity activity, List<User> users) {
this.users = users;
inflater = activity.getLayoutInflater();
}
@Override
public int getCount() {
return users.size();
}
@Override
public Object getItem(int location) {
return users.get(location);
}
@Override
public long getItemId(int position) {
return position;
}
@Override
public View getView(int position, View convertView, ViewGroup parent) {
if (convertView == null)
convertView = inflater.inflate(R.layout.list_row, parent,false);
if (imageLoader == null)
imageLoader = AppController.getInstance().getImageLoader();
NetworkImageView thumbNail = (NetworkImageView) convertView.findViewById(R.id.thumbnail);
TextView name = (TextView) convertView.findViewById(R.id.name);
TextView lastActive = (TextView) convertView.findViewById(R.id.lastActive);
User user = users.get(position);
thumbNail.setImageUrl(user.getProfilePhotoUrl(), imageLoader);// ERROR HERE
name.setText(user.getName());
lastActive.setText(user.getLastActive());
return convertView;
}
}
HistoryFragment (Где я называю HistoryListAdapter здесь)
public class HistoryFragment extends Fragment {
private List<User> userList = new ArrayList<User>();
private ListView listView;
private HistoryListAdapter adapter;
public HistoryFragment() {
// TODO Auto-generated constructor stub
}
@Override
public void onCreate(Bundle savedInstanceState) {
// TODO Auto-generated method stub
super.onCreate(savedInstanceState);
}
@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container,
Bundle savedInstanceState) {
// TODO Auto-generated method stub
View v = LayoutInflater.from(getActivity()).inflate(R.layout.activity_history_fragment,
null);
listView = (ListView) v.findViewById(R.id.list);
adapter = new HistoryListAdapter(getActivity(),this.userList);
listView.setAdapter(adapter);
/* everything is coding..*/
return v;
}
/* everything is coding..*/
}
Пожалуйста, советы. Спасибо.
Что такое 'деятельность'? – codeMan
Показать, где вы инициализируете активность. – barq
ОК, подождите. Я обновляю свой вопрос. –