Код: Выделить всё
contact.getLayoutParams().width = LayoutParams.FILL_PARENT;
Код: Выделить всё
public class EditContactDBActivity extends Activity implements OnClickListener {
private static final String TABLE_NAME = "phonebook";
private static final String KEY_ID = "_id";
private static final String KEY_JOB = "job";
private static final String KEY_NAME = "name";
private static final String KEY_PHONE = "phone";
private static final String KEY_EMAIL = "email";
String id, job, name, phone, email;
int[] colors = new int[2];
EditText etId, etJob, etName, etPhone, etEmail;
Button btnAddContact, btnDelContact,
btnClearContacts, btnOpenContacts, btnUpdContact;
DBHelper dbHelper;
ContentValues cv = new ContentValues();
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
btnAddContact = (Button) findViewById(R.id.btnAddContact);
btnAddContact.setOnClickListener(this);
btnDelContact = (Button) findViewById(R.id.btnDelContact);
btnDelContact.setOnClickListener(this);
btnUpdContact = (Button) findViewById(R.id.btnUpdContact);
btnUpdContact.setOnClickListener(this);
btnClearContacts = (Button) findViewById(R.id.btnClearContacts);
btnClearContacts.setOnClickListener(this);
btnOpenContacts = (Button) findViewById(R.id.btnOpenContacts);
btnOpenContacts.setOnClickListener(this);
etId = (EditText) findViewById(R.id.etId);
etJob = (EditText) findViewById(R.id.etJob);
etName = (EditText) findViewById(R.id.etName);
etPhone = (EditText) findViewById(R.id.etPhone);
etEmail = (EditText) findViewById(R.id.etEmail);
dbHelper = new DBHelper(this);
colors[0] = Color.parseColor("#559966CC");
colors[1] = Color.parseColor("#55336699");
}
@Override
public void onClick(View v) {
SQLiteDatabase db = dbHelper.getWritableDatabase();
putData();
switch (v.getId()) {
case R.id.btnAddContact:
db.insert(TABLE_NAME, null, cv);
break;
case R.id.btnUpdContact:
if (id.equalsIgnoreCase("")) {
break;
}
db.update(TABLE_NAME, cv, "_id = ?",new String[] { id });
break;
case R.id.btnDelContact:
if (id.equalsIgnoreCase("")) {
break;
}
db.delete(TABLE_NAME, "_id = " + id, null);
break;
case R.id.btnOpenContacts:
Cursor cursor = db.query(TABLE_NAME, null, null, null, null, null, null);
if (cursor.moveToFirst()) {
int idColIndex = cursor.getColumnIndex(KEY_ID);
int jobColIndex = cursor.getColumnIndex(KEY_JOB);
int nameColIndex = cursor.getColumnIndex(KEY_NAME);
int phoneColIndex = cursor.getColumnIndex(KEY_PHONE);
int emailColIndex = cursor.getColumnIndex(KEY_EMAIL);
LinearLayout layoutContactList = (LinearLayout) findViewById(R.id.layoutContactList);
LayoutInflater ltInflater = getLayoutInflater();
int i=0;
Intent intent = new Intent(this, ContactListActivity.class);
while (cursor.moveToNext()) {
View contact = ltInflater.inflate(R.layout.contact, layoutContactList, false);
// TextView tvId = (TextView) contact.findViewById(R.id.tvId);
// tvId.setText(cursor.getInt(idColIndex));
TextView tvJob = (TextView) contact.findViewById(R.id.tvJob);
tvJob.setText(cursor.getString(jobColIndex));
TextView tvName = (TextView) contact.findViewById(R.id.tvName);
tvName.setText(cursor.getString(nameColIndex));
TextView tvPhone = (TextView) contact.findViewById(R.id.tvPhone);
tvPhone.setText(cursor.getString(phoneColIndex));
TextView tvEmail = (TextView) contact.findViewById(R.id.tvEmail);
tvEmail.setText(cursor.getString(emailColIndex));
Log.d("myLogs", "1");
contact.getLayoutParams().width = LayoutParams.FILL_PARENT;
Log.d("myLogs", "2");
contact.setBackgroundColor(colors[i % 2]);
layoutContactList.addView(contact);
i++;
}
startActivity(intent);
break;
}
case R.id.btnClearContacts:
db.delete(TABLE_NAME, null, null);
break;
}
dbHelper.close();
}
private ContentValues putData() {
id = etId.getText().toString();
job = etJob.getText().toString();
name = etName.getText().toString();
phone = etPhone.getText().toString();
email = etEmail.getText().toString();
cv.put(KEY_JOB, name);
cv.put(KEY_NAME, name);
cv.put(KEY_PHONE, name);
cv.put(KEY_EMAIL, email);
return cv;
}
}
class DBHelper extends SQLiteOpenHelper {
private static final int DB_VERSION = 1;
private static final String DB_NAME = "firstDB";
public DBHelper(Context context) {
super(context, DB_NAME, null, DB_VERSION);
}
@Override
public void onCreate(SQLiteDatabase db) {
db.execSQL("create table phonebook ("
+ "_id integer primary key autoincrement,"
+ "job text,"
+ "name text,"
+ "phone text,"
+ "email text" + ");");
}
@Override
public void onUpgrade(SQLiteDatabase db, int oldVersion, int newVersion) {
}
}
01-15 15:10:51.732: W/KeyCharacterMap(546): No keyboard for id 0
01-15 15:10:51.742: W/KeyCharacterMap(546): Using default keymap: /system/usr/keychars/qwerty.kcm.bin
01-15 15:10:58.862: D/myLogs(546): 1
01-15 15:10:58.872: D/AndroidRuntime(546): Shutting down VM
01-15 15:10:58.882: W/dalvikvm(546): threadid=3: thread exiting with uncaught exception (group=0x4001b188)
01-15 15:10:58.882: E/AndroidRuntime(546): Uncaught handler: thread main exiting due to uncaught exception
01-15 15:10:58.912: E/AndroidRuntime(546): java.lang.NullPointerException
01-15 15:10:58.912: E/AndroidRuntime(546): at my.contacts.EditContactDBActivity.onClick(EditContactDBActivity.java:121)
01-15 15:10:58.912: E/AndroidRuntime(546): at android.view.View.performClick(View.java:2364)
01-15 15:10:58.912: E/AndroidRuntime(546): at android.view.View.onTouchEvent(View.java:4179)
01-15 15:10:58.912: E/AndroidRuntime(546): at android.widget.TextView.onTouchEvent(TextView.java:6540)
01-15 15:10:58.912: E/AndroidRuntime(546): at android.view.View.dispatchTouchEvent(View.java:3709)
01-15 15:10:58.912: E/AndroidRuntime(546): at android.view.ViewGroup.dispatchTouchEvent(ViewGroup.java:884)
01-15 15:10:58.912: E/AndroidRuntime(546): at android.view.ViewGroup.dispatchTouchEvent(ViewGroup.java:884)
01-15 15:10:58.912: E/AndroidRuntime(546): at android.view.ViewGroup.dispatchTouchEvent(ViewGroup.java:884)
01-15 15:10:58.912: E/AndroidRuntime(546): at android.view.ViewGroup.dispatchTouchEvent(ViewGroup.java:884)
01-15 15:10:58.912: E/AndroidRuntime(546): at android.view.ViewGroup.dispatchTouchEvent(ViewGroup.java:884)
01-15 15:10:58.912: E/AndroidRuntime(546): at com.android.internal.policy.impl.PhoneWindow$DecorView.superDispatchTouchEvent(PhoneWindow.java:1659)
01-15 15:10:58.912: E/AndroidRuntime(546): at com.android.internal.policy.impl.PhoneWindow.superDispatchTouchEvent(PhoneWindow.java:1107)
01-15 15:10:58.912: E/AndroidRuntime(546): at android.app.Activity.dispatchTouchEvent(Activity.java:2061)
01-15 15:10:58.912: E/AndroidRuntime(546): at com.android.internal.policy.impl.PhoneWindow$DecorView.dispatchTouchEvent(PhoneWindow.java:1643)
01-15 15:10:58.912: E/AndroidRuntime(546): at android.view.ViewRoot.handleMessage(ViewRoot.java:1691)
01-15 15:10:58.912: E/AndroidRuntime(546): at android.os.Handler.dispatchMessage(Handler.java:99)
01-15 15:10:58.912: E/AndroidRuntime(546): at android.os.Looper.loop(Looper.java:123)
01-15 15:10:58.912: E/AndroidRuntime(546): at android.app.ActivityThread.main(ActivityThread.java:4363)
01-15 15:10:58.912: E/AndroidRuntime(546): at java.lang.reflect.Method.invokeNative(Native Method)
01-15 15:10:58.912: E/AndroidRuntime(546): at java.lang.reflect.Method.invoke(Method.java:521)
01-15 15:10:58.912: E/AndroidRuntime(546): at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:860)
01-15 15:10:58.912: E/AndroidRuntime(546): at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:618)
01-15 15:10:58.912: E/AndroidRuntime(546): at dalvik.system.NativeStart.main(Native Method)
01-15 15:10:58.943: I/dalvikvm(546): threadid=7: reacting to signal 3
01-15 15:10:58.975: I/dalvikvm(546): Wrote stack trace to '/data/anr/traces.txt'
01-15 15:11:00.933: I/Process(546): Sending signal. PID: 546 SIG: 9