0

こんにちは、ジェイクのViewPagerIndicatorを使用するのに少し苦労しています。私の最初の問題は、ViewPagerIndicatorでページごとに異なるレイアウトを設定するにはどうすればよいですか?

@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) {

        TextView text = new TextView(getActivity());
        text.setText("Hello!");
        text.setTextSize(20 * getResources().getDisplayMetrics().density);
        text.setPadding(20, 20, 20, 20);

        LinearLayout layout = new LinearLayout(getActivity());
        layout.setLayoutParams(new LayoutParams(LayoutParams.FILL_PARENT, LayoutParams.FILL_PARENT));
        layout.addView(text);

    return layout;
}

サンプルコードを簡単に編集しましたが、異なるページスワイプ間でレイアウトを変更する方法がわかりません。また、ViewPagerIndicatorで作成しているアイテムのIDを設定して、応答できるようにする方法も知りたいですか?私は次のようなことを言おうとしました

text.onclicklistener

しかし、私はこのコードでエラーが発生し続けます。彼のクラス内で作成するすべてのアイテムのIDを設定する必要があるかどうかも疑問に思っています。私もこれを試しましたが、成功しませんでした。OnClickListener .etcを使用するにはIDを使用する必要がありますか?

text.setId("android:id@hello");

ありがとう

4

1 に答える 1

0

コードを微調整することでこれを行うことができます。

最初にこの部分にコメントしてください:

    StringBuilder builder = new StringBuilder();
    for (int i = 0; i < 20; i++) {
        builder.append(content).append(" ");
    }
    builder.deleteCharAt(builder.length() - 1);

次にこれを追加します: fragment.mContent = content; // ループの下

3 番目に、onCreateView() 内でレイアウトを拡張する必要があります。

    View view=null;
    if(mContent.equals("title1"))
    {
        view = inflater.inflate(R.layout.title1, container, false);

    }
    else if(mContent.equals("title2"))
    {
        view = inflater.inflate(R.layout.title2, container, false);
    }

ビューを返します。

于 2014-01-14T20:53:58.137 に答える