私のフラグメントにいくつかの(テスト)リストビューを入れようとしていますが、アプリケーションがすぐにクラッシュしました。これがコードです。nullオブジェクトリファレンスのvoid android.widget.TextView.setText(java.lang.CharSequence) '
public class ListPassword extends Fragment {
private String accountID , masterUsername;
private ListView lv;
private TextView masterUsernameTXT;
private String[][] showingData;
String[] title = { "a" , "b" , "c" , "d" , "e" };
String[] description = { "aaa" , "bbb" , "ccc" , "ddd" , "eee" };
String[] updateDate = { "000" , "111" , "222" , "333" , "444" };
int recordRow = 0;
public static ListPassword newInstance() {
ListPassword fragment = new ListPassword();
return fragment;
}
public ListPassword() { }
public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) {
View rootView = inflater.inflate(R.layout.fragment_listpassword, container, false);
String[] title = { "a" , "b" , "c" , "d" , "e" };
String[] description = { "aaa" , "bbb" , "ccc" , "ddd" , "eee" };
String[] updateDate = { "000" , "111" , "222" , "333" , "444" };
lv = (ListView)rootView.findViewById(R.id.listview_password);
SpinnerAdapt adapter = new SpinnerAdapt(getActivity(),title, description, updateDate);
lv.setAdapter(adapter);
return rootView;
}
私はlogcatを読んで解決しようとしましたが、次のエラーが見つかりました。
致命的な例外:メイン プロセス:com.example.new_ang_ja_kai_la.masterpassword、PID:21591 java.lang.NullPointerExceptionが仮想メソッドを呼び出す試み「ボイド android.widget.TextView.setText(れるjava.lang com.example.new_ang_ja_kai_la.masterpassword.SpinnerAdapt.getCustomViewにヌル オブジェクト参照 上.CharSequence)」(SpinnerAdapt.java:63)
とSpinnerAdaptは(私は私の友人からこれをcoppied)は、次の通りであります
public class SpinnerAdapt extends BaseAdapter {
private Activity activity;
private String[] title;
private String[] description;
private String[] updateDate;
//
public SpinnerAdapt(Activity activity, String[] title, String[] description, String[] updateDate) {
this.activity = activity;
this.title = title;
this.description = description;
this.updateDate = updateDate;
}
@Override
public int getCount() {
return title.length;
}
@Override
public Object getItem(int i) {
return i;
}
@Override
public long getItemId(int i) {
return i;
}
@Override
public View getView(int i, View view, ViewGroup viewGroup) {
return getCustomView(i, view, viewGroup);
}
public View getCustomView(int position, View convertView, ViewGroup parent) {
holder holder;
if (convertView == null) {
// LayoutInflater inflater = (activity).getLayoutInflater();
LayoutInflater inflater = (LayoutInflater)activity.getSystemService
(Context.LAYOUT_INFLATER_SERVICE);
convertView = inflater.inflate(R.layout.item_listview_storedpassword,null);
holder = new holder(convertView);
convertView.setTag(holder);
} else {
holder = (holder) convertView.getTag();
}
holder.rowTitle.setText(title[position]);
holder.rowDescription.setText(description[position]);
holder.rowUpdateDate.setText(updateDate[position]);
return convertView;
}
public class holder{
private TextView rowTitle;
private TextView rowDescription;
private TextView rowUpdateDate;
public holder(View v){
TextView rowTitle= (TextView) v.findViewById(R.id.passwordTitle);
TextView rowDescription = (TextView) v.findViewById(R.id.passwordDescription);
TextView rowUpdateDate = (TextView) v.findViewById(R.id.passwordDescription);
}
}
}
私はこれをデバッグしました。 "LV = (リストビュー)rootView.findViewById(R.id.listview_password);" それはエラーが発生した行で
...と言います
は完了デバッグ時LVの値がNULLであることを示しました。
私は既にR.id.listview_passwordが正しい参照(Ctrl +クリックで)であることを確認しているので、解決方法はわかりません。すでにポインタを置いていた可能性があります。
私は解決策をチェックアウトしましたが、何も私を助けません。
は実際には、エラーはエラーがライン「LV =(リストビュー)rootView.findViewById(Rで発生したSpinnerAdapt.java –