Android アプリでボタンがクリックされるたびに、テーブルに新しい行を追加しようとしています。行の追加ボタンを押すたびにクラッシュし、テーブルに行を追加しようとしている行にエラーが表示されます。エラーは java.lang.NullPointerException です (それが何を意味するのかわかりませんが、私はアンドロイド開発にかなり慣れていません)。
これが私が以下に持っているコードです。どんな入力でも役に立ちます。
table.addView(tr, new....... 行(ほぼ最終行)でエラーが発生します。
public class addItem extends Activity
{
private TableLayout table = null;
protected void onCreate(Bundle savedInstanceState)
{
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_additem);
table = (TableLayout)findViewById(R.id.maintable);
Button additembutton = (Button) findViewById(R.id.additembutton);
additembutton.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View v) {
update();
}
});
}
private void update()
{
TableRow tr = new TableRow(addItem.this);
tr.setLayoutParams(new TableLayout.LayoutParams(TableLayout.LayoutParams.MATCH_PARENT, TableLayout.LayoutParams.WRAP_CONTENT));
TextView tv = new TextView(addItem.this);
tv.setLayoutParams(new TableRow.LayoutParams(TableRow.LayoutParams.MATCH_PARENT, TableRow.LayoutParams.WRAP_CONTENT));
tv.setText("New Entry");
tr.addView(tv);
table.addView(tr, new TableLayout.LayoutParams(LayoutParams.MATCH_PARENT, LayoutParams.WRAP_CONTENT));
}}
最後の行以外はすべて問題なく動作するようです。
logcat レポート:
08-19 06:57:54.002: E/AndroidRuntime(3486): FATAL EXCEPTION: main 08-19 06:57:54.002: E/AndroidRuntime(3486): java.lang.NullPointerException 08-19 06:57:54.002: E/AndroidRuntime(3486): at com.mirafriends.recipeme.addItem.update(addItem.java:47) 08-19 06:57:54.002: E/AndroidRuntime(3486): at com.mirafriends.recipeme.addItem.access$0(addItem.java:37) 08-19 06:57:54.002: E/AndroidRuntime(3486): at com.mirafriends.recipeme.addItem$1.onClick(addItem.java:30) 08-19 06:57:54.002: E/AndroidRuntime(3486): at android.view.View.performClick(View.java:4204)