0

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();
        }
    };
4

0 に答える 0