Вызов идентификатора в XML-файле в вашем классе - PullRequest
0 голосов
/ 18 ноября 2010

Как я могу определить, есть ли в представлении изображения изображение при нажатии кнопки. У меня был класс, который отображает изображение и некоторые результаты, но я не хочу, чтобы пользователь мог получить доступ к этим результатам (нажатием кнопки), пока результаты не будут записаны в этот класс.

Итак, я решил, что мне нужно проверить, есть ли еще изображение, отображаемое в ImageView.

Так что-то вроде:

        case R.id.previous_box:
            if (R.id.photoResultView == null){
                            //throw up a dialog box saying they need to snap a pic first.

            }


            Intent j = new Intent(DTF.this, Result.class);
            startActivity(j);
            return;

но очевидно, что R.id.photoResultView == null - не правильный способ сделать это ... кто-нибудь знает как?

Танки!

РЕДАКТИРОВАТЬ: строка 184

    if (photoResultView.getDrawable() == null) {

EDIT:

        case R.id.previous_box:

            if (photoResultView.getDrawable() == null) {
                showToast(DTF.this, "You have to take a picture first");
                return;
            }
            Intent j = new Intent(main.this, Result.class);
            startActivity(j);
            return;

Ответы [ 2 ]

1 голос
/ 18 ноября 2010

Попробуйте вместо блока if, который у вас есть, это:

ImageView photoResultView = (ImageView)findViewById(R.id.photoResultVew);
if (photoResultView.getDrawable() == null) {
    //throw dialog
}

ImageView.getDrawable() возвращает либо Drawable, либо значение NULL (если нет набора Drawable).

В основном, скажем, у вас есть что-то вроде этого:

public class HelloAndroid extends Activity {   
    ImageView photoResultView; //this creates a class variable
    /** Called when the activity is first created. */   
    @Override   
    public void onCreate(Bundle savedInstanceState) {       
        super.onCreate(savedInstanceState);       
        setContentView(R.layout.main);
        //this assigns it to the photoResultView you defined in your XML
        photoResultView = (ImageView)findViewById(R.id.photoResultView);
    }
}
0 голосов
/ 18 ноября 2010
public class MyActivity extends Activity {

 private ImageView imageView;

 protected void onCreate(Bundle savedInstanceState) {

   super.onCreate(savedInstanceState);
   setContentView(R.layout.activity_records);
   imageView = (ImageView) findViewById(R.id.image_view);

 }

}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...