1

私はこの質問が尋ねられた他の数回に従おうとしましたが、何が機能しているのかについての他のすべてのレポートは、私のものが機能しないことを除いて、私のものと同じようです。コンパイルして実行し、クラッシュすることはありませんが、本来の機能を実行していません。コードでは、「Alpha」エラー ログは発生しないため、クリックされたことを認識していません。

関連するコードのスニペットを次に示します。何か案は?

    for(int i=0; i<[big long statement]; ++i)
    {
        final TextView resourceText= new TextView(ctx);
        resourceText.setLayoutParams(new LayoutParams(LayoutParams.MATCH_PARENT, LayoutParams.WRAP_CONTENT));
        resourceText.setText([big long statement]);
        resourceText.setTextSize(18);
        resourceText.setClickable(true);
        resourceText.setFocusable(false);
        resourceText.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {
                Log.e("Alpha", "Alpha");
                resourceText.setTextColor(Color.RED);
            }
        });
        scrollLinearLayout.addView(resourceText);
    }

これは scrollLinearLayout が作成される場所です

    //Add Linear Layout for the scrollview
    scrollLinearLayout = new LinearLayout(ctx);
    scrollLinearLayout.setLayoutParams(new LayoutParams(LayoutParams.WRAP_CONTENT, LayoutParams.WRAP_CONTENT, 1));
    scrollLinearLayout.setOrientation(LinearLayout.VERTICAL);
    //scrollLinearLayout.setId(MyR.Ids.ROOMDIALOGFRAGMENTLL_ID);
    resourceScrollView.addView(scrollLinearLayout);

ありがとう

4

2 に答える 2

0

これは、linearlayout に textview の resourceText が含まれているためです。LinearLayout がクリックを消費できるようにすると、textview にクリックが表示されなくなります。LinearLayout に android:descendantFocusability="afterDescendents" を追加してみる必要があります

于 2013-07-16T21:20:54.230 に答える