![](/img/trans.png)
[英]Change items of a Spinner on item click of another Spinner in android
[英]how to start another activity when click on item from spinner items
我有一個微調器,其中包含許多項目,並且想要在我單擊這些項目中的一個項目時打開另一個活動
這是布局中的微調器
<Spinner
android:id="@+id/spinner"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:prompt="@string/title"
android:entries="@array/items"
/>
這是字符串中的項目
<string name="title">select</string>
<string-array name="items">
<item>open activity one</item>
<item>open activity two</item>
</string-array>
這是我要使其能夠在單擊項目時打開另一個活動的代碼
Spinner Spinner = (Spinner) findViewById(R.id.spinner);
Spinner.setOnItemSelectedListener(new OnItemSelectedListener() {
public void onClick(View v) {
// TODO Auto-generated method stub
}
@Override
public void onItemSelected(AdapterView<?> arg0, View arg1,
int arg2, long arg3) {
// TODO Auto-generated method stub
}
@Override
public void onNothingSelected(AdapterView<?> arg0) {
// TODO Auto-generated method stub
}
});
嘗試這個:
Spinner Spinner = (Spinner) findViewById(R.id.spinner);
Spinner.setOnItemSelectedListener(new OnItemSelectedListener() {
public void onClick(View v) {
// TODO Auto-generated method stub
}
@Override
public void onItemSelected(AdapterView<?> arg0, View view,
int position, long row_id) {
final Intent intent;
switch(position){
case 1:
intent = new Intent(CurrentActivity.this, TargetActivity1.class);
break;
case 2:
intent = new Intent(CurrentActivity.this, TargetActivity2.class);
break;
// and so on
// .....
}
startActivity(intent);
}
@Override
public void onNothingSelected(AdapterView<?> arg0) {
// TODO Auto-generated method stub
}
});
公共類Main2Activity擴展了Activity {
Toolbar mytoolbar;
Spinner mySpinner;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main2);
mytoolbar=(Toolbar) findViewById(R.id.toolbar);
mySpinner=(Spinner) findViewById(R.id.spinner);
ArrayAdapter<String> myAdaptor=new ArrayAdapter<String>(Main2Activity.this,
R.layout.custom_spinner_item,
getResources().getStringArray(R.array.names));
myAdaptor.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item);
mySpinner.setAdapter(myAdaptor);
mySpinner.setOnItemSelectedListener(new AdapterView.OnItemSelectedListener() {
public void onClick(View v) {
// TODO Auto-generated method stub
}
@Override
public void onItemSelected(AdapterView<?> arg0, View view,
int position, long row_id)
{
final Intent intent;
switch(position)
{
case 1:
intent = new Intent(Main2Activity.this, MainhomeActivity.class);
startActivity(intent);
break;
case 2:
intent = new Intent(Main2Activity.this, DateActivity.class);
startActivity(intent);
break;
// 等等 // .....
}
}
@Override
public void onNothingSelected(AdapterView<?> arg0) {
// TODO Auto-generated method stub
}
});
}
}
您已經具有onItemSelected
方法。 因此,只需在其中放置一個帶有arg2作為參數的switch-case語句即可。 arg2是項目的位置。 因此,只要您有需要,就打算打開另一個活動。 干杯
String selection ;
acTV1.setAdapter(arrayAdapter);
acTV1.setCursorVisible(false);
acTV1.setOnItemClickListener(new AdapterView.OnItemClickListener() {
@Override
public void onItemClick(AdapterView<?> parent, View view, int position, long id) {
acTV1.showDropDown();
String selection = (String) parent.getItemAtPosition(position);
Toast.makeText(getApplicationContext(), selection, Toast.LENGTH_SHORT);
if(selection.equals("Delete"))
{
intent = new Intent(ImageAttachmentActivity.this, DeleteEmployeeActivity.class);
startActivity(intent);
}
});
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.