私は私のプロジェクトでのすべてのエラーを持っていないが、私はそれを実行すると、それはこれらの行とnullポインタ例外エラーを与え、すぐに閉じます。EditTextをどこに置くと、nullpointer例外エラーが発生しなくなるのですか?
EditText nameofcontact = (EditText) findViewById(R.id.edittextname);
EditText numberofcontact = (EditText) findViewById(R.id.edittextname);
私はこのエラーが起こっているのはなぜだと思います - Edittextsはそれらが存在する前に言及されていますが、私がonCreateに入れても、私のコードはまだ動作しません。 (これは私のnameofcontactと私のcreatebuttonのcontactof変数の数に問題をもたらします)。
アイデア?私のプロジェクトが正しく機能するように、あるいはどのようなコードを追加すべきか、これらの行をどこに置くべきですか?助けてくれてありがとう。これは、あなたの意見を追加する場所であるため、
package com.example.chris.addnewcontact;
import android.content.ContentProviderOperation;
import android.content.ContentResolver;
import android.content.OperationApplicationException;
import android.database.Cursor;
import android.os.RemoteException;
import android.provider.ContactsContract;
import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
import android.util.Log;
import android.view.Menu;
import android.view.View;
import android.widget.Button;
import android.widget.EditText;
import android.widget.TextView;
import android.widget.Toast;
import java.util.ArrayList;
public class MainActivity extends AppCompatActivity {
public String contactname;
public String contactnumber;
//the lines below are giving me null pointer exception error.
EditText nameofcontact = (EditText) findViewById(R.id.edittextname);
EditText numberofcontact = (EditText) findViewById(R.id.edittextname);
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
Button add = (Button) findViewById(R.id.createButton);
}
public void createButton(View view) {
contactname = nameofcontact.getText().toString();
contactnumber = numberofcontact.getText().toString();
Log.d("test","yes, button is working");
ArrayList<ContentProviderOperation> contentProviderOperations = new ArrayList<ContentProviderOperation>();
//insert raw contact using RawContacts.CONTENT_URI
contentProviderOperations.add(ContentProviderOperation.newInsert(ContactsContract.RawContacts.CONTENT_URI)
.withValue(ContactsContract.RawContacts.ACCOUNT_TYPE, null).withValue(ContactsContract.RawContacts.ACCOUNT_NAME, null).build());
//insert contact display name using Data.CONTENT_URI
contentProviderOperations.add(ContentProviderOperation.newInsert(ContactsContract.Data.CONTENT_URI)
.withValueBackReference(ContactsContract.Data.RAW_CONTACT_ID, 0).withValue(ContactsContract.Data.MIMETYPE, ContactsContract.CommonDataKinds.StructuredName.CONTENT_ITEM_TYPE)
.withValue(ContactsContract.CommonDataKinds.StructuredName.DISPLAY_NAME,nameofcontact).build());
//insert mobile number using Data.CONTENT_URI
contentProviderOperations.add(ContentProviderOperation.newInsert(ContactsContract.Data.CONTENT_URI)
.withValueBackReference(ContactsContract.Data.RAW_CONTACT_ID, 0).withValue(ContactsContract.Data.MIMETYPE, ContactsContract.CommonDataKinds.Phone.CONTENT_ITEM_TYPE)
.withValue(ContactsContract.CommonDataKinds.Phone.NUMBER, numberofcontact).withValue(ContactsContract.CommonDataKinds.Phone.TYPE, ContactsContract.CommonDataKinds.Phone.TYPE_MOBILE).build());
try {
//apply the changes
getApplicationContext().getContentResolver().
applyBatch(ContactsContract.AUTHORITY, contentProviderOperations);
} catch (RemoteException e) {
e.printStackTrace();
} catch (OperationApplicationException e) {
e.printStackTrace();
}
}
'setContentView()'の後に 'onCreate()'の内部にあります。 –
静的な方法でfindviewbyidを呼び出すことはできません。コードをonCreateコールの中に入れてください。 –
ありがとうございました。私はRamesh Kumarを正しいものとしてマークしました。なぜなら、実際にはそれは素晴らしく、はっきり言って、文字通りエラーを解決するためにコードをコピーして貼り付けたからです。そして、今、他のすべてのバグに直面する... – CHarris