PrintScreenAndroid的:如何在ListView插入一個呼叫按鈕
我有3次 1)ImageView的 2)的TextView 3)按鈕列表視圖
我想提出的是,當我點擊一個按鈕,它被觸發並呼叫特定的人。 電話號碼存儲在strings.xml檔案作爲
<string-array name="telePhoneNummber">
<item>123</item>
<item>8765</item>
<item>565767</item>
</string-array>
這裏是我的適配器類。
public class MoviesAdapter extends ArrayAdapter {
List list = new ArrayList();
public MoviesAdapter(Context context, int resource) {
super(context, resource);
}
static class DataHandler {
ImageView Poster;
TextView title;
Button telePhone;
}
@Override
public void add(Object object) {
super.add(object);
list.add(object);
}
@Override
public int getCount() {
return this.list.size();
}
@Override
public Object getItem(int position) {
return this.list.get(position);
}
@Override
public View getView(int position, View convertView, final ViewGroup parent) {
View row;
row = convertView;
DataHandler handler;
if (convertView == null) {
LayoutInflater inflater = (LayoutInflater) this.getContext().getSystemService(Context.LAYOUT_INFLATER_SERVICE);
row = inflater.inflate(R.layout.row_layout, parent, false);
handler = new DataHandler();
handler.Poster = (ImageView) row.findViewById(R.id.movie_poster);
handler.title = (TextView) row.findViewById(R.id.movie_title);
handler.telePhone = (Button) row.findViewById(R.id.btn_call);
row.setTag(handler);
} else {
handler = (DataHandler) row.getTag();
}
MovieDataProvider dataProvider;
dataProvider = (MovieDataProvider) this.getItem(position);
handler.Poster.setImageResource(dataProvider.getMovie_poster_resource());
handler.title.setText(dataProvider.getMovie_title());
handler.telePhone.setText(dataProvider.getTelePhone());
return row;
}
}
不要在命名約定注意請。
我收到此錯誤信息 顯示java.lang.NullPointerException at line 82 and line 82 is intent.setData(Uri.parse(「tel:」+ dataProvider.getTelePhone()。trim())); – user2983359
在聲明handler.telePhone資源之前是否插入了onClickListener?沒有更多的logcat信息,就無法查明異常情況。 – mjp66
不,我沒有在handler.telePhone之前聲明它 – user2983359