2014-08-25 2 views
0

Я искал форумы, но не нашел никаких конкретных или понятных ответов для моей проблемы.Изменение образа изображения (из галереи) с помощью longclick

Я хотел бы изменить изображение своего изображения на изображение, выбранное из галереи. Раньше изображение должно оставаться неизменным после закрытия приложения.

Мой XML для кнопки здесь:

<ImageButton 
     android:id="@+id/eat" 
     android:layout_width="wrap_content" 
     android:layout_height="wrap_content" 
     android:layout_margin="10dp" 
     android:adjustViewBounds="true" 
     android:background="@drawable/eat" 
     android:clickable="true" 
     android:longClickable="true" 
     android:scaleType="fitCenter" /> 

Java-код для воспроизведения звука здесь с помощью метода OnClick.

ImageButton eat = (ImageButton) findViewById (R.id.eat); 
    eat.setOnClickListener(new View.OnClickListener() { 
     @Override 
     public void onClick(View v) { 
      mp1.start(); 
     } 
    }); 

Я хотел бы добавить метод OnLongClick здесь тоже (т.к. OnClick будет Allready принято и изображение замены должно быть немного по-другому), но нету нашел правильный путь. Можете ли вы, пожалуйста, направить меня немного?

+0

Необходимо вернуть true из onLongClickListener. –

ответ

0

Необходимо вернуть true из изображения onLongClickListener.

Как это:

eat.setOnLongClickListener(new OnLongClickListener() { 

    @Override 
    public boolean onLongClick(View v) { 
     //do something 
     return true; 
    } 

}); 

eat.setOnClickListener(new View.OnClickListener() { 
    @Override 
    public void onClick(View v) { 
     mp1.start(); 
    } 
}); 

Это не приведет к onClickListener на изображение, чтобы назвать это означает, что действие уже было обработано в longClickListener.

+0

Спасибо, что работает. Но не к моему другому вопросу. Можно ли добавить изображение из галереи и заменить исходное изображение? Мой код в onClickListsener здесь: @Override \t \t общественного логический onLongClick (View v) { \t \t \t INT RESULT_LOAD_IMAGE = 1; \t \t \t Намерение я = новый Намерение ( \t \t Intent.ACTION_PICK, \t \t android.provider.MediaStore.Images.Media.EXTERNAL_CONTENT_URI); \t \t startActivityForResult (i, RESULT_LOAD_IMAGE); Это только позволяет мне выбрать изображение, но не заменяет его. Можете ли вы помочь? \t \t \t \t \t return true; \t \t} – joonsuu