2017-05-11 102 views
0

我有一個ListView有2個項目。
每一個都是一個ListView。
我只想在單擊某個項目時移至其他活動。移動到另一個活動

我的代碼

public void onBindViewHolder(HomeHolder holder, int position) { 
    holder.recyclerView.setAdapter(new InHomeAdapter(inflater)); 
    holder.recyclerView.setLayoutManager(new LinearLayoutManager(context, 
    LinearLayoutManager.HORIZONTAL, false)); 
    holder.recyclerView.addOnItemTouchListener(new 
    InHomeAdapter.InHomeListener(context, new InHomeAdapter.ClickListener() {   
      @Override 
      public void onClick(InHomeAdapter.InHomeHolder holder, View view, int position) { 
       Intent i = new Intent(this,movie_Detailes.class); 
      } 
    }); 
} 

這一點我得到 「movie_detailes.class」 下一條紅線。
我該怎麼做?

回答

1

試試這個

//in adapter constructer 
    Context context; 
    public CustomAdapter(Context context){ 
     this.context = context; 
    } 
    public void onBindViewHolder(HomeHolder holder, int position) { 
      holder.recyclerView.setAdapter(new InHomeAdapter(inflater)); 
      holder.recyclerView.setLayoutManager(new LinearLayoutManager(context, LinearLayoutManager.HORIZONTAL, false)); 
      holder.recyclerView.addOnItemTouchListener(new InHomeAdapter.InHomeListener(context, new InHomeAdapter.ClickListener() { 
       @Override 
       public void onClick(InHomeAdapter.InHomeHolder holder, View view, int position) { 
        Intent i = new Intent(context, movie_Detailes.class); 
       } 
      })); 
     } 
0

嘗試這些代碼

//Create constructor of your Adapter class 
Context context; 
public YourAdapterClass(Context context){ 
    this.context = context; 
} 

然後

public void onBindViewHolder(HomeHolder holder, int position) { 
holder.recyclerView.setAdapter(new InHomeAdapter(inflater)); 
holder.recyclerView.setLayoutManager(new LinearLayoutManager(context, 
LinearLayoutManager.HORIZONTAL, false)); 
holder.recyclerView.addOnItemTouchListener(new 
InHomeAdapter.InHomeListener(context, new InHomeAdapter.ClickListener() {   
     @Override 
     public void onClick(InHomeAdapter.InHomeHolder holder, View view, int position) { 
      Intent i = new Intent(context,movie_Detailes.class); 
     } 
}); 

}

0
//in adapter constructer 
Context context; 
public CustomAdapter(Context context){ 
    this.context = context; 
} 
public void onBindViewHolder(HomeHolder holder, int position) { 
     holder.recyclerView.setAdapter(new InHomeAdapter(inflater)); 
     holder.recyclerView.setLayoutManager(new LinearLayoutManager(context, LinearLayoutManager.HORIZONTAL, false)); 
     holder.recyclerView.addOnItemTouchListener(new InHomeAdapter.InHomeListener(context, new InHomeAdapter.ClickListener() { 
      @Override 
      public void onClick(InHomeAdapter.InHomeHolder holder, View view, int position) { 
       Intent i = new Intent(context, movie_Detailes.class); 
       context.startActivity(i); 
      } 
     })); 
    } 
相關問題