的Android开始新的活动
问题描述:
我创建一个XML格式的列表,android.And其Java代码中有延长的活动,而不是扩展列表activity.I中号不能写代码来开始新的活动闻一点击一个特定的row.here是我的代码...的Android开始新的活动
Java代码
import android.os.Bundle;
import android.app.Activity;
import android.widget.ArrayAdapter;
import android.widget.ListView;
public class Menu extends Activity {
String[] values = new String[] { "Android", "iPhone", "WindowsMobile",
"Blackberry", "WebOS", "Ubuntu", "Windows7", "Max OS X",
"Linux", "OS/2" };
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.menu);
ArrayAdapter adapter = new ArrayAdapter<String>(this,``
android.R.layout.simple_list_item_1, values);
ListView View = (ListView) findViewById(R.id.list);
View.setAdapter(adapter);
}
XML代码
<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:orientation="vertical"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:paddingTop="4dp"
android:background="@drawable/ic_launcher">
<LinearLayout
android:layout_width="wrap_content"
android:layout_height="wrap_content" >
</LinearLayout>
<ListView
android:id="@+id/list"
android:layout_width="200dp"
android:layout_height="325dp"
android:layout_alignParentBottom="true"
android:layout_alignParentRight="true"
android:cacheColorHint="#00000000"
android:drawSelectorOnTop="false" >
</ListView>
</RelativeLayout>
答
尝试是这样的:
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.menu);
ArrayAdapter adapter = new ArrayAdapter<String>(this,``
android.R.layout.simple_list_item_1, values);
ListView View = (ListView) findViewById(R.id.list);
View.setAdapter(adapter);
view.setOnItemClickListener(new OnItemClickListener() {
public void onItemClick(AdapterView<?> arg0, View arg1, int position, long arg3) {
Toast.makeText(getApplicationContext(), "You chose item number: "+position, Toast.LENGTH_LONG).show();
}
});
}
答
您可以拨打list
上的setOnItemClickListener
并检查position
并启动相应的Intent
。事情是这样的......
ListView listView = (ListView) findViewById(R.id.list);
listView.setAdapter(adapter);
listView.setOnItemClickListener(new OnItemClickListener() {
public void onItemClick(AdapterView<?> parent, View view, int position, long id) {
// Check which list item was clicked by checking the 'position'
// and start an Activity accordingly
switch(position) {
case 0:
Toast.makeText(getApplicationContext(), "Position: " + position, Toast.LENGTH_SHORT).show();
Intent oneIntent = new Intent(MainActivity.this, OneFragment.class);
startActivity(oneIntent);
break;
case 1:
Toast.makeText(getApplicationContext(), "Position: " + position, Toast.LENGTH_SHORT).show();
Intent twoIntent = new Intent(MainActivity.this, TwoFragment.class);
startActivity(twoIntent);
// AND SO ON...
}
}
});
答
View.setOnItemClickListener(new OnItemClickListener() {
public void onItemClick(AdapterView<?> parent, View view, int position, long id) {
switch(position) {
case 0:
Intent intnscnd = new Intent(MainActivity.this, secondactivity.class);
startActivity(intnscnd);
this.finish();
break;
case 1:
Intent intnthrd = new Intent(MainActivity.this, thirdactivity.class);
startActivity(intnthrd);
this.finish();
}
}
});
你想在一个特定的项目,当点击启动什么样的活动? – Rob013
哪个部位有问题?在回复用户点击列表中的项目时是否需要帮助?或者你需要帮助开始另一项活动? –