如何更改按钮的文本并在if()中设置OnClickListener?

时间:2014-10-31 12:41:12

标签: java android android-fragments fragment onclicklistener

我遇到了一个问题,我必须在我的布局中使用微调器和两个按钮,我想要更改按钮的文本" linjaText"并为按钮" linjaeDuhur"制作onclicklistener。启动另一个活动依赖于在两个侦听器中选择的项目。 我提出了一个解决方案,给int1和int2一个值取决于微调器选择并在条件中检查它们我可以显示一个吐司但我似乎无法更改按钮中的文本或使另一个按钮打开其他活动。 请帮忙!

这是我的java源代码:

public class GjejLinjen extends Fragment {

    static Button linjaText;
    static Button kerko;
    static ImageView linjaeDuhur;
    static View rootView;

    @Override
    public View onCreateView(LayoutInflater inflater, ViewGroup container,
                             Bundle savedInstanceState) {
         rootView = inflater.inflate(R.layout.fragment_gjej_linjen, container, false);

         kerko = (Button) rootView.findViewById(R.id.kerko);

         linjaText = (Button) rootView.findViewById(R.id.linjaText);

         linjaeDuhur = (ImageView) rootView.findViewById(R.id.linjaeDuhur);

        Spinner nisja = (Spinner) rootView.findViewById(R.id.nisja);
        ArrayAdapter<CharSequence> adapter1 = ArrayAdapter.createFromResource(getActivity(), R.array.lagjet, android.R.layout.simple_spinner_item);
        adapter1.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item);
        nisja.setAdapter(adapter1);

        Spinner spinner = (Spinner) rootView.findViewById(R.id.mberritja);
        ArrayAdapter<CharSequence> adapter = ArrayAdapter.createFromResource(getActivity(), R.array.lagjet, android.R.layout.simple_spinner_item);
        adapter.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item);
        spinner.setAdapter(adapter);

        nisja.setOnItemSelectedListener(new AdapterView.OnItemSelectedListener() {
            @Override
            public void onItemSelected(AdapterView<?> parent, View view, int pos, long id) {
                if(parent.getItemAtPosition(pos).toString().equals("Germi")) {
                    Stringat.int1 = 0;
                }
                else if(parent.getItemAtPosition(pos).toString().equals("Sofali")) {

                    Stringat.int1 = 1;

                }
            }

            @Override
            public void onNothingSelected(AdapterView<?> parent) {
                Toast.makeText(parent.getContext(), "Zgjedh Qytetin ", Toast.LENGTH_LONG).show();
            }
        });

        spinner.setOnItemSelectedListener(new AdapterView.OnItemSelectedListener() {
            @Override
            public void onItemSelected(AdapterView<?> parent, View view, int pos, long id) {
                if(parent.getItemAtPosition(pos).toString().equals("Germi")) {

                    Stringat.int2 = 0;



                }
                else if(parent.getItemAtPosition(pos).toString().equals("Sofali")) {
                    Stringat.int2 = 1;
                }


            }

            @Override
            public void onNothingSelected(AdapterView<?> parent) {
                Toast.makeText(parent.getContext(),"Zgjedh Qytetin ", Toast.LENGTH_LONG).show();
            }
        });


        if ((Stringat.int1==0 || Stringat.int2==0)){

            kerko.setOnClickListener(new View.OnClickListener(){

                @Override
                public void onClick(View v) {
                    // TODO Auto-generated method stub
                    Toast.makeText(getActivity(),("stringu= "+Stringat.int1+"   stringu2="+Stringat.int2+""),Toast.LENGTH_SHORT).show();


                }
            });

            linjaeDuhur.setOnClickListener(new View.OnClickListener(){

                @Override
                public void onClick(View v) {
                    // TODO Auto-generated method stub

                    Toast.makeText(getActivity(),("stringu= "+Stringat.int1+"   stringu2="+Stringat.int2+""),Toast.LENGTH_SHORT).show();

                }
            });



        }else if(Stringat.int1==1 && Stringat.int2==1){



            kerko.setOnClickListener(new View.OnClickListener(){

                @Override
                public void onClick(View v) {
                    // TODO Auto-generated method stub

                    Toast.makeText(getActivity(),("stringu= "+Stringat.int1+"   stringu2="+Stringat.int2+""),Toast.LENGTH_SHORT);

                    linjaText.setText("Linja 5");

                }
            });

            linjaeDuhur.setOnClickListener(new View.OnClickListener(){

                @Override
                public void onClick(View v) {
                    // TODO Auto-generated method stub

                    Toast.makeText(getActivity(),("stringu= "+Stringat.int1+"   stringu2="+Stringat.int2+""),Toast.LENGTH_SHORT);

                    Intent i = new Intent (getActivity(), Linja.class);
                    startActivity(i);

                }
            });
        }

        return rootView;
    }
}

这是我的xml布局:

<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:tools="http://schemas.android.com/tools"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:background="@color/white"
    android:paddingLeft="@dimen/activity_horizontal_margin"
    android:paddingRight="@dimen/activity_horizontal_margin"
    android:paddingTop="@dimen/activity_vertical_margin"
    android:paddingBottom="@dimen/activity_vertical_margin">

    <TextView
        android:layout_width="wrap_content"
        android:textColor="#333333"
        android:layout_height="wrap_content"
        android:textAppearance="?android:attr/textAppearanceMedium"
        android:text="Vendi i Nisjes"
        android:id="@+id/nisjaText"
        android:layout_alignParentTop="true"
        android:layout_centerHorizontal="true" />

    <Spinner
        android:layout_width="match_parent"
        android:background="@color/button_material_light"
        android:layout_height="60dp"
        android:id="@+id/nisja"
        android:layout_centerHorizontal="true"
        android:layout_marginTop="15dp"
        android:layout_below="@+id/nisjaText"
        android:layout_alignParentLeft="true"
        android:layout_alignParentStart="true" />

    <TextView
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_marginTop="15dp"
        android:textAppearance="?android:attr/textAppearanceMedium"
        android:text="Vendi i Mberritjes"
        android:textColor="#333333"
        android:id="@+id/mberritjaText"
        android:layout_below="@+id/nisja"
        android:layout_centerHorizontal="true" />

    <Spinner
        android:layout_width="match_parent"
        android:layout_height="60dp"
        android:id="@+id/mberritja"
        android:background="@color/primary_material_light"
        android:layout_marginTop="15dp"
        android:layout_below="@+id/mberritjaText"
        android:layout_alignParentLeft="true"
        android:layout_alignParentStart="true" />

    <Button
        android:layout_width="match_parent"
        android:layout_below="@id/mberritja"
        android:background="#02aff1"
        android:id="@+id/kerko"
        android:text="Kerko Linjen"
        android:textColor="@color/white"
        android:layout_marginTop="15dp"
        android:layout_centerHorizontal="true"
        android:layout_height="60dp" />

    <LinearLayout
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:layout_marginTop="16dp"
        android:layout_below="@+id/kerko"
        android:orientation="horizontal" >

        <Button
            android:layout_width="wrap_content"
            android:layout_height="60dp"
            android:text="Linja e Duhur"
            android:layout_weight="1"
            android:background="@color/grey"
            android:gravity="center_vertical|center_horizontal|left"
            android:paddingLeft="25dp"
            android:textColor="@color/white"
            android:id="@+id/linjaText" />

        <ImageView
            android:id="@+id/linjaeDuhur"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_weight="0"
            android:src="@drawable/normalcall"
            android:textColor="@color/white" />

    </LinearLayout>

</RelativeLayout>

我非常绝望,所以请真正感谢任何对此或任何其他有效解决方案的回答。

提前完成。

1 个答案:

答案 0 :(得分:1)

你不能按照你的方式做到这一点。主要原因是您在onClickListener中定义onCreateView,检查stringat整数的值。

按如下方式实施onClickListener和内部检查stringat值。

 kerko.setOnClickListener(new View.OnClickListener(){

            @Override
            public void onClick(View v) {
                // TODO Auto-generated method stub
                Toast.makeText(getActivity(),("stringu= "+Stringat.int1+"   stringu2="+Stringat.int2+""),Toast.LENGTH_SHORT).show();

                if(Stringat.int1 == 1 && Stringat.int2 == 1)
                     linjaText.setText("Linja 5");
            }
        });

linjaeDuhur.setOnClickListener(new View.OnClickListener(){

            @Override
            public void onClick(View v) {
                // TODO Auto-generated method stub

                Toast.makeText(getActivity(),("stringu= "+Stringat.int1+"   stringu2="+Stringat.int2+""),Toast.LENGTH_SHORT).show();

                if(Stringat.int1 == 1 && Stringat.int2 == 1)
                {
                     Intent i = new Intent (getActivity(), Linja.class);
                     startActivity(i);
                }
            }
        });

请告诉我,如果我没有回答你的问题,你的var名字有些奇怪:D

希望有所帮助