がLinearLayout
取り込まれる がありTextViews
ます。それらのそれぞれがTextViews
同じで設定されOnClickListener
ます。リスナーはトリガーされますが、アクティビティが読み込まれるのは 2 回目だけです。
初めてトリガーするようにするにはどうすればよいですか / 初めてトリガーしないのはなぜですか?
public static void loadArticlesIntoSimilarList(Context mContext, String myid)
{
//POPULATES THE LIST OF ARTICLES
//associatedArticles = articlesDataSource.getAssociatedArticlesData(articleId);
for(final Article similarArticle : articlesDataSource.getAssociatedArticlesList(myid))
{
TextView similarArticleTextView = new TextView(mContext);
similarArticleTextView.setTextColor(mContext.getResources().getColor(R.color.meddark_gray));
LinearLayout.LayoutParams layoutParams = new LinearLayout.LayoutParams(
LinearLayout.LayoutParams.FILL_PARENT,
LinearLayout.LayoutParams.WRAP_CONTENT);
similarArticleTextView.setLayoutParams(new LayoutParams(
LayoutParams.FILL_PARENT,
LayoutParams.WRAP_CONTENT));
layoutParams.setMargins(ConversionHelper.dpToPx(5), 0, ConversionHelper.dpToPx(5), ConversionHelper.dpToPx(20));
similarArticleTextView.setText(similarArticle.title);
similarArticleTextView.setId((int) similarArticle.id);
similarArticlesLinearLayout.addView(similarArticleTextView);
similarArticleTextView.setClickable(true);
similarArticleTextView.setOnClickListener(relatedArticleClickListener);
similarArticleTextView.setLayoutParams(layoutParams);
}
}
私は最初にリスナーを一番上に設定しています:
private static OnClickListener relatedArticleClickListener;
そして機能は次のとおりです。
//RELATED ARTICLE CLICK
relatedArticleClickListener = new OnClickListener()
{
public void onClick(View v) {
Log.d("MYLOG", "RL Article clicked " + v.getId());
Intent myIntent = new Intent(v.getContext(),MainActivity.class);
myIntent.putExtra("id", v.getId());
startActivity(myIntent);
finish();
}
};