質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.48%
Java

Javaは、1995年にサン・マイクロシステムズが開発したプログラミング言語です。表記法はC言語に似ていますが、既存のプログラミング言語の短所を踏まえていちから設計されており、最初からオブジェクト指向性を備えてデザインされています。セキュリティ面が強力であることや、ネットワーク環境での利用に向いていることが特徴です。Javaで作られたソフトウェアは基本的にいかなるプラットフォームでも作動します。

Android

Androidは、Google社が開発したスマートフォンやタブレットなど携帯端末向けのプラットフォームです。 カーネル・ミドルウェア・ユーザーインターフェイス・ウェブブラウザ・電話帳などのアプリケーションやソフトウェアをひとつにまとめて構成。 カーネル・ライブラリ・ランタイムはほとんどがC言語/C++、アプリケーションなどはJavaSEのサブセットとAndroid環境で書かれています。

Android Studio

Android Studioは、 Google社によって開発された、 Androidのネイティブアプリケーション開発に特化した統合開発ツールです。

Q&A

解決済

2回答

1826閲覧

Listviewをカスタマイズしたい

rain_sun

総合スコア12

Java

Javaは、1995年にサン・マイクロシステムズが開発したプログラミング言語です。表記法はC言語に似ていますが、既存のプログラミング言語の短所を踏まえていちから設計されており、最初からオブジェクト指向性を備えてデザインされています。セキュリティ面が強力であることや、ネットワーク環境での利用に向いていることが特徴です。Javaで作られたソフトウェアは基本的にいかなるプラットフォームでも作動します。

Android

Androidは、Google社が開発したスマートフォンやタブレットなど携帯端末向けのプラットフォームです。 カーネル・ミドルウェア・ユーザーインターフェイス・ウェブブラウザ・電話帳などのアプリケーションやソフトウェアをひとつにまとめて構成。 カーネル・ライブラリ・ランタイムはほとんどがC言語/C++、アプリケーションなどはJavaSEのサブセットとAndroid環境で書かれています。

Android Studio

Android Studioは、 Google社によって開発された、 Androidのネイティブアプリケーション開発に特化した統合開発ツールです。

0グッド

0クリップ

投稿2017/02/06 04:28

###前提・実現したいこと
Listviewのカスタマイズ

###発生している問題・エラーメッセージ

E/AndroidRuntime: FATAL EXCEPTION: main Process: com.example.innovation.f_featnote, PID: 3765 java.lang.NullPointerException: Attempt to invoke virtual method 'void android.widget.TextView.setText(java.lang.CharSequence)' on a null object reference at com.example.innovation.f_featnote.ListAdapter.getView(SqlLoad.java:145) at android.widget.AbsListView.obtainView(AbsListView.java:2344) at android.widget.ListView.makeAndAddView(ListView.java:1864) at android.widget.ListView.fillDown(ListView.java:698) at android.widget.ListView.fillFromTop(ListView.java:759) at android.widget.ListView.layoutChildren(ListView.java:1673) at android.widget.AbsListView.onLayout(AbsListView.java:2148) at android.view.View.layout(View.java:15596) at android.view.ViewGroup.layout(ViewGroup.java:4966) at android.widget.LinearLayout.setChildFrame(LinearLayout.java:1703) at android.widget.LinearLayout.layoutVertical(LinearLayout.java:1557) at android.widget.LinearLayout.onLayout(LinearLayout.java:1466) at android.view.View.layout(View.java:15596) at android.view.ViewGroup.layout(ViewGroup.java:4966) at android.widget.FrameLayout.layoutChildren(FrameLayout.java:573) at android.widget.FrameLayout.onLayout(FrameLayout.java:508) at android.view.View.layout(View.java:15596) at android.view.ViewGroup.layout(ViewGroup.java:4966) at android.widget.LinearLayout.setChildFrame(LinearLayout.java:1703) at android.widget.LinearLayout.layoutVertical(LinearLayout.java:1557) at android.widget.LinearLayout.onLayout(LinearLayout.java:1466) at android.view.View.layout(View.java:15596) at android.view.ViewGroup.layout(ViewGroup.java:4966) at android.widget.FrameLayout.layoutChildren(FrameLayout.java:573) at android.widget.FrameLayout.onLayout(FrameLayout.java:508) at android.view.View.layout(View.java:15596) at android.view.ViewGroup.layout(ViewGroup.java:4966) at android.view.ViewRootImpl.performLayout(ViewRootImpl.java:2072) at android.view.ViewRootImpl.performTraversals(ViewRootImpl.java:1829) at android.view.ViewRootImpl.doTraversal(ViewRootImpl.java:1054) at android.view.ViewRootImpl$TraversalRunnable.run(ViewRootImpl.java:5779) at android.view.Choreographer$CallbackRecord.run(Choreographer.java:767) at android.view.Choreographer.doCallbacks(Choreographer.java:580) at android.view.Choreographer.doFrame(Choreographer.java:550) at android.view.Choreographer$FrameDisplayEventReceiver.run(Choreographer.java:753) at android.os.Handler.handleCallback(Handler.java:739) at android.os.Handler.dispatchMessage(Handler.java:95) at android.os.Looper.loop(Looper.java:135) at android.app.ActivityThread.main(ActivityThread.java:5221) at java.lang.reflect.Method.invoke(Native Method) at java.lang.reflect.Method.invoke(Method.java:372) at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:899) at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:694)

###SqlLoad.java

java

1package com.example.innovation.f_featnote; 2 3import 省略 4 5public class SqlLoad extends Activity { 6 ListView lv; 7 static String[][] list; 8 static String[] Did = new String[2]; 9 static long id_; 10 static String[] Data; 11 12 @Override 13 protected void onCreate(Bundle savedInstanceState) { 14 super.onCreate(savedInstanceState); 15 setContentView(R.layout.sql_load); 16 // final boolean[] flg = new boolean[1]; 17 18 19 20 21 Main(); 22 } 23 24 public void Main(){ 25 26 Data = SQLDataGet(); 27 // lv = new ListView(this); 28 // ArrayList<String> Data = new ArrayList<>(Arrays.asList(SQLDataGet())); 29 lv = (ListView)findViewById(R.id.sql_load_main); 30 List Dlist = new ArrayList<DataList>(); 31 for (int i = 0; i< list.length;i++){ 32 DataList dataList = new DataList(); 33 dataList.setTitle(list[i][0]); 34 dataList.setContent(list[i][1]); 35 dataList.setDate(list[i][2]); 36 Dlist.add(dataList); 37 } 38 // ArrayAdapter<String> adapter = new ArrayAdapter<>(this, android.R.layout.simple_list_item_1, data); 39 ListAdapter adapter = new ListAdapter(getApplicationContext(),Dlist); 40 lv.setAdapter(adapter);//リスト表示 41 // setContentView(lv,new ViewGroup.LayoutParams(WC,WC)); 42 43 lv.setOnItemClickListener(new AdapterView.OnItemClickListener(){ 44 @Override 45 public void onItemClick(AdapterView<?> parent,View view,int position,long id){ 46 // ListView listView = (ListView) parent; 47 // String item = (String)listView.getItemAtPosition(position); 48 Log.d("id",""+id); 49 id_ = id; 50 SQLDContentGet(); 51 SQLDataSet(); 52 finish(); 53 // Toast.makeText(getApplicationContext(),item + "clicked",Toast.LENGTH_LONG).show(); 54 } 55 }); 56 } 57 58 59 60 61 62 public String[] SQLDataGet(){ 63 MainActivity main = new MainActivity(); 64 Context con = this; 65 SQLiteDatabase sdb = main.SQLopen(con.getApplicationContext());//MainActivity参照 66 final String[] columns = new String[]{"title","content","date"};//列名 67 // String where = null;//条件 68 // String[] Args = new String[]{""};//?の置き換え 69 @SuppressLint("Recycle") Cursor c = sdb.query("MemoContents", columns, null, null, null, null, null); 70 int startPostion = c.getPosition(); 71 c.moveToFirst(); 72 // Log.d("DBG",""+c.getCount()); 73 list = new String[c.getCount()][columns.length]; 74 String[] Dlist = new String[c.getCount()]; 75 for (int i = 0; i< list.length; i++){ 76 for (int j = 0; j < list[1].length; j++){ 77 list[i][j] = c.getString(j); 78 Log.d(i+"-"+j,list[i][j]);//デバッグ 79 Dlist[i] = list[i][0]; 80 } 81 c.moveToNext(); 82 } 83 c.moveToPosition(startPostion); 84 85 // finish(); 86 return Dlist; 87 } 88 89 public void SQLDContentGet(){ 90 Did[0] = list[(int)id_][0]; 91 Did[1] = list[(int)id_][1]; 92 } 93 94 public void SQLDataSet(){ 95 Intent data = new Intent(); 96 Bundle bundle = new Bundle(); 97 data.putExtra("key.data",Did); 98 data.putExtras(bundle); 99 setResult(RESULT_OK,data); 100 finish(); 101 } 102 103 @Override 104 public void finish() { 105 super.finish(); 106 } 107} 108 109class ListAdapter extends ArrayAdapter<DataList>{ 110 private LayoutInflater inflater; 111 private TextView title; 112 private TextView content; 113 private TextView date; 114 115 public ListAdapter(Context context, List<DataList> objects){ 116 super(context,0,objects); 117 inflater = (LayoutInflater)context.getSystemService(Context.LAYOUT_INFLATER_SERVICE); 118 } 119 120 public View getView(final int position, View convertView, ViewGroup parent){ 121 if (convertView == null){ 122 convertView = inflater.inflate(R.layout.sql_load,null); 123 } 124 final DataList list = this.getItem(position); 125 if (list != null){ 126 title = (TextView)convertView.findViewById(R.id.textView1); 127 title.setText(list.getTitle()); 128 content = (TextView)convertView.findViewById(R.id.textView2); 129 content.setText(list.getContent()); 130 date = (TextView)convertView.findViewById(R.id.textView3); 131 date.setText(list.getDate()); 132 } 133 return convertView; 134 } 135} 136 137

###DataList.java

package com.example.innovation.f_featnote; public class DataList{ private String title = ""; private String content = ""; private String date = ""; public void setTitle(String title){ this.title = title; } public String getTitle(){ return title; } public void setContent(String content){ this.content = content; } public String getContent(){ return content; } public void setDate(String date){ this.date = date; } public String getDate(){ return date; } }

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

回答2

0

自己解決

Layoutの指定が間違っていたみたいですorz

public View getView(final int position, View convertView, ViewGroup parent){ if (convertView == null){ convertView = inflater.inflate(R.layout.custom_load_list,null); }

投稿2017/02/06 04:57

rain_sun

総合スコア12

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

0

SqlLoad.javaの145行目でNullPointerExceptionが発生しています。

投稿2017/02/06 04:35

yona

総合スコア18155

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

rain_sun

2017/02/06 04:44

ちゃんとデータが入っているのですが…
yona

2017/02/06 04:55

145行目とはどこですか?質問の仕方が良くないです。 データが入っているのはどうやって確認したんですか?
rain_sun

2017/02/06 05:05

getView()の title.setText(list.getTitle()); です 確認はAndroid studioのデバッグです
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.48%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問