从列表视图中传递意图
我有一个列表视图代码,当单击列表视图选项时,会产生一个敬酒信息。 MainActivity.java从列表视图中传递意图
public class MainActivity extends ListActivity {
static final String[] FRUITS = new String[] { "Apple", "Avocado", "Banana",
"Blueberry", "Coconut", "Durian", "Guava", "Kiwifruit",
"Jackfruit", "Mango", "Olive", "Pear", "Sugar-apple" };
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
// no more this
// setContentView(R.layout.list_fruit);
setListAdapter(new ArrayAdapter<String>(this, R.layout.activity_main,FRUITS));
ListView listView = getListView();
listView.setTextFilterEnabled(true);
listView.setOnItemClickListener(new OnItemClickListener() {
public void onItemClick(AdapterView<?> parent, View view,
int position, long id) {
// When clicked, show a toast with the TextView text
Toast.makeText(getApplicationContext(),
((TextView) view).getText(), Toast.LENGTH_SHORT).show();
}
});
}
}
XML文件是:
<?xml version="1.0" encoding="utf-8"?>
<TextView xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:padding="10dp"
android:textSize="20sp" >
</TextView>
我想做的事是通过一个意图,当我点击列表视图选项中的一个选项显示
这是我到目前为止试过的代码
String str = ((TextView) view).getText().toString();
Log.i(str, str + "");
// str2 = FRUITS[Position];
String s = str + ".class";
Log.d(s, s + "");
Intent myintent = new Intent(getApplicationContext(), ListViewSampleClass.class);
startActivity(myintent);
试试这个方法
listView.setOnItemClickListener(new OnItemClickListener() {
public void onItemClick(AdapterView<?> parent, View view,
int position, long id) {
// This will call another activity using intent
Intent myintent = new Intent(getApplicationContext(), youcalssname.class);
startActivity(myintent);
}
});
这是工作。但我如何专门去一个预期的观点。例如,我选择了苹果,然后视图将转到apple.class。 –
您需要为'位置“放置开关盒。 'onItemClick()'中的'position'参数代表被点击的项目。因此,让我们假设如果苹果位置是2,您可以根据该位置显示课程。如果您发现任何困难,请告诉我。 –
获取您可以使用的选定项目的名称'FRUITS [position]'这将给出已经选择的项目的名称 –
公共类MainActivity扩展ListActivity {
static final String[] FRUITS = new String[] { "Apple", "Avocado", "Banana",
"Blueberry", "Coconut", "Durian", "Guava", "Kiwifruit",
"Jackfruit", "Mango", "Olive", "Pear", "Sugar-apple" };
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
// no more this
// setContentView(R.layout.list_fruit);
setListAdapter(new ArrayAdapter<String>(this, R.layout.activity_main,FRUITS));
ListView listView = getListView();
listView.setTextFilterEnabled(true);
listView.setOnItemClickListener(new OnItemClickListener() {
public void onItemClick(AdapterView<?> parent, View view,
int position, long id) {
// When clicked, show a toast with the TextView text
Toast.makeText(getApplicationContext(),
((TextView) view).getText(), Toast.LENGTH_SHORT).show();
passIntentToAnotherActivity();
}
});
}
private void passIntentToAnotherActivity() {
Intent myIntent = new Intent();
...
// Rest of your intent code goes here.
}
}
这是什么问题? – Emmanuel
@Emmanuel请仔细阅读最后一行 –
我的意思是说“迄今为止您尝试过什么?,这是一个多次提问的问题,您没有显示任何研究成果” – Emmanuel