2016-05-02 3 views
0

Я использую этот код для убеждается нового слушателя для каждого нового элементаандроид адаптер OnClick открыт новый activty

первый XML-

<?xml version="1.0" encoding="utf-8"?> 
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" 
android:layout_width="fill_parent" 
android:layout_height="wrap_content" 
android:background="@drawable/list_row_selector" 
android:padding="8dp" 
android:id="@+id/showonmap" 
android:alpha="0.9"> 

<!-- Thumbnail Image --> 

<!-- notofocation Title --> 
<TextView 
    android:id="@+id/title" 
    android:layout_width="wrap_content" 
    android:layout_height="wrap_content" 
    android:textSize="15dp" 
    android:textStyle="bold" /> 

<!-- --> 
<TextView 
    android:id="@+id/rating" 
    android:layout_width="fill_parent" 
    android:layout_height="wrap_content" 
    android:layout_below="@id/title" 
    android:layout_marginTop="1dip" 
    android:textSize="@dimen/rating" /> 

<!-- Genre --> 
<TextView 
    android:id="@+id/genre" 
    android:layout_width="fill_parent" 
    android:layout_height="wrap_content" 
    android:layout_below="@id/rating" 
    android:layout_marginTop="5dp" 
    android:textColor="@color/genre" 
    android:textSize="@dimen/genre" /> 

<!-- date --> 
<TextView 
    android:id="@+id/releaseYear" 
    android:layout_width="wrap_content" 
    android:layout_height="wrap_content" 
    android:layout_alignParentBottom="true" 
    android:layout_alignParentRight="true" 
    android:textColor="@color/year" 
    android:textSize="@dimen/year" /> 

Я просто разобрать ответ JSON массива и сделать новый элемент зависит от длины массива

после этого добавить слушателя к

.. RelativeLayout с идентификатором showonmap

и когда нажмите на его это открыть новый вид деятельности код OnClick

showonmaps.setOnClickListener(new View.OnClickListener() { 


     public void onClick(View view) { 


      Intent intent = new Intent(context, show_notification.class); 
      intent.putExtra("lat", m.getGenre().get(0)); 
      intent.putExtra("lang", m.getGenre().get(1)); 
      intent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK); 


      context.startActivity(intent); 





     } 
    }); 

здесь я использую

intent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK); 
    context.startActivity(intent); 

и когда использовать

Intent intent = new Intent(context, 
          show_notification.class); 
        context.startActivity(intent); 

приложение остановлено, так что я должен поддержать и использовать

intent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK); 
    context.startActivity(intent); 

, но когда я использую его и открыть новый вид деятельности и нажмите кнопку назад ее выхода из приложения какие-либо идеи или решения?

+0

вы можете вызвать onBackPressed() с предыдущим действием –

+0

Удалить эту строку: 'intent.addFlags (Intent.FLAG_ACTIVITY_NEW_TASK);'. При установке этого флага вы в основном запускаете новый стек действий. Я вижу, что ваше приложение разбилось при удалении, поэтому вы, вероятно, используете контекст, который не разрешен для запуска Activity, т.е. контекста приложения ('getApplicationContext()'). – 0xDEADC0DE

+0

используйте этот yourActivity.this вместо контекста, например, Intent intent = new Intent (yourActivity.this, show_notification.class); startActivity (намерение); –

ответ

1

я SLOVE его передать активность и контекст класса

код будет

Intent intent = new Intent(context, show_notification.class); 
activity.startActivity(yourIntent); 

контекст и деятельность вот что вы передаете его, когда построить класс

и этот вопрос помогли мне найти шлюз

here