2014-10-31 68 views
-2

我有一個問題,因爲我必須在我的佈局中使用spinners和兩個按鈕,並且我想要更改「linjaText」按鈕的文本,並且還要讓按鈕「linjaeDuhur」的onclicklistener開始另一個活動,取決於哪個項目在兩個聽衆中被選中。 我已經想出了一個解決方案,給int1和int2的值取決於微調器的選擇,並在條件中檢查他們,我可以顯示一個敬酒,但我似乎不能改變按鈕中的文本或使其他按鈕打開其他活動。 請幫忙!如何更改按鈕的文本並在if()中設置OnClickListener?

這裏是我的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> 

我真的絕望了,所以請任何答案,這或任何其他工作解決方案將非常感激。

Thanx提前。

回答

1

你不能這樣做,你已經做到了。主要原因是您正在定義您的您的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); 
       } 
      } 
     }); 

請告訴我,如果我不回答你的問題,你的變種名稱是somekind的怪異:d

希望它可以幫助

+0

謝謝主席先生是做了工作,和是其真正的變量有點奇怪,因爲他們是阿爾巴尼亞人,但你的伎倆仍然完美地完成了這項工作,現在我可以再次繼續工作, Thanx;) – drilonreqica 2014-10-31 12:59:46

相關問題