我遇到了一个问题,我必须在我的布局中使用微调器和两个按钮,我想要更改按钮的文本" 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>
我非常绝望,所以请真正感谢任何对此或任何其他有效解决方案的回答。
提前完成。
答案 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
希望有所帮助