2016-05-24 2 views
0
ImageView iconStartWorkout = new ImageView(this); 
    iconStartWorkout.setImageResource(R.mipmap.ic_fitness_center_black_24dp); 

    ImageView iconNewWorkout = new ImageView(this); 

    iconNewWorkout.setImageResource(R.mipmap.ic_format_list_numbered_black_24dp); 
    iconNewWorkout.setClickable(true); 
    iconNewWorkout.setOnClickListener(new View.OnClickListener() { 
     @Override 
     public void onClick(View v) { 

      startActivity(new Intent(this,AddDate.class)); 
     } 
    }); 

iconStartWorkout является частью FloatingActionMenu. Android студия подчеркивает и сказал cannot resolve constructor'Intend [...]'Android onClick и startActivity not woking

но класс AddBase имеет все необходимое вещество:

public class AddDate extends AppCompatActivity { 

@Override 
protected void onCreate(Bundle savedInstanceState) { 
    super.onCreate(savedInstanceState); 
    setContentView(R.layout.activity_add_date); 
}} 

я использовал startActivity(new Intent(this, sth.class)); и работал в других проектах ..

EDIT 1 часть XML

<android.widget.ImageView 
    android:id="@+id/NewWorkout" 
    android:layout_width="wrap_content" 
    android:layout_height="wrap_content" 
    android:src="@mipmap/ic_format_list_numbered_black_24dp"/> 

и

меняю в mainActivity

ImageView iconNewWorkout = new ImageView(R.id.NewWorkout); 
//iconNewWorkout.setImageResource(R.mipmap.ic_format_list_numbered_black_24dp); 

но подчеркивают R.id.NewWorkout и сказал in ImageView cannot be applied to (int)

+0

пост, если возникли ошибки? –

+1

В вашем onClick() вы должны пройти как startActivity (новый Intent (YourActivityName.this, AddDate.class)); –

+0

попробуйте добавить android: clickable = "true" в ur xml –

ответ

1

Попробуйте, как это,

iconNewWorkout.setOnClickListener(new View.OnClickListener() { 
    @Override 
    public void onClick(View v) { 
     Intent i = new Intent(MainActivity.this , AddDate.class); 
     startActivity(i); 

     //OR 
     //startActivity(new Intent(MainActivity.this,AddDate.class)); 
    } 
    }); 

, а также проверить manifest.xml

<activity 
     android:name=".AddDate"/> 

Это может помогает вы.

EDIT 1:

Try дать

ImageView iconNewWorkout = new ImageView(R.id.YOUR_IMAGEVIEW_ID); 

вместо

ImageView iconNewWorkout = new ImageView(this); 
+0

У меня то же самое теперь (manifest.xml тоже), теперь нет ошибки, но onClick не работает. – Xalion

+0

вы можете показать свой xml? –

+0

xml AddDate? теперь он слишком велик (много текстовых полей). Я использовал; New-> Activity-> empty activity, поэтому i thnikt xml должен быть в порядке. – Xalion

1

Вы должны пройти Context или Activity вашему Intent. Подтверждение неправильного значения. this внутри: oncliclListener значит, вы принимаете onClickListener на Intent. если вы в использовании деятельности это:

new Intent(YOURACTIVITY.this,AddDate.class); 

, и если вы в фрагменте вы можете использовать это:

new Intent(getApplicationContext(),AddDate.class); 

Edit: Вторая часть вашей проблемы об определении вашего ImageView вы должны найти свой вид, используя findViewById() метод как это:

ImageView iconNewWorkout =(ImageView) findViewById((R.id.NewWorkout); 
+0

. Нет ошибки, но кнопка не работает. (моя деятельность - «MainActivity») – Xalion

1

не может решить constructor'Intend [...]

Я предполагаю, что проблема для вашего this .Simply вы должны проходить название текущего там.

Android Явное намерение указывает компонент, вызываемый из активности. Вы можете использовать этот путь,

Intent intent = new Intent(Your_Current_class_Name, AddDate.class); 
startActivity(intent); 
+0

почему проголосовавший сэр ??????????? –

+1

его полностью правильный ответ, почему downvote? –

+1

@Milad У меня нет проблем, если пользователь прокомментировал, почему проголосовали. У меня нет никаких проблем . Здесь для улучшения моих знаний. –