Есть ваша проблема.Вы не создаете экземпляр чего-либо в строке 31 Register.java
.
11-21 20:39:08.057: E/AndroidRuntime(539): Caused by: java.lang.NullPointerException
11-21 20:39:08.057: E/AndroidRuntime(539): at android.app.Activity.findViewById(Activity.java:1794)
11-21 20:39:08.057: E/AndroidRuntime(539): at Picture.Capture.Register.<init>(Register.java:31)
В противном случае код, который вы используете для вызова второй операции, верен.
Intent goRegister = new Intent (PictureTakeActivity.this, Register.class);
startActivity(goRegister);
Вы уже сказаличто Register
Активность добавлена в ваш файл манифеста.
Редактировать:
public TextView RegisterName= (TextView)findViewById(R.id.RegisterName);
это объявление должно идти внутри вашего onCreate()
метода, сразу после:
super.onCreate(savedInstanceState);
setContentView(R.layout.register_layout);
Вы должны загрузить макет, прежде чем пытаться получить доступ к элементам из него.
Это всегда должны быть ваши первые две строки в вашем методе onCreate()
.Это означает, что тоже переместите эту строку:
Bitmap bit=Picture.Capture.PictureTakeActivity.thumbnail;
Наконец, ваш код должен выглядеть следующим образом:
public class Register extends Activity {
final int PICTURE_ACTIVITY = 1;
private static int TAKE_PICTURE = 1;
public TextView RegisterName;
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.register_layout);
Bitmap bit=Picture.Capture.PictureTakeActivity.thumbnail;
RegisterName = (TextView)findViewById(R.id.RegisterName);
RegisterName.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View v){
RegisterName.clearComposingText();
}
});
// etc..