【发布时间】:2010-08-10 15:53:21
【问题描述】:
我正在尝试在单击列表项时启动另一个活动。以下是我的代码:
public class AvoidForeclosure extends CustomListTitle {
/** Called when the activity is first created. */
private DbAdapter db;
private SimpleCursorAdapter clients;
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
ListView list = getListView();
setContentView(R.layout.main);
this.title.setText("Avoid Foreclosure");
db = new DbAdapter(this);
db.open();
fillData();
list.setOnItemClickListener(new OnItemClickListener() {
public void onItemClick( AdapterView<?> parent, View view, int position, long id ) {
int viewId = view.getId();
TextView theView = (TextView) findViewById(viewId);
String name = theView.getText().toString();
Cursor clientData = db.getClientByName(name);
Intent intent = new Intent();
intent.setClass(view.getContext(), CurrentMarketValue.class);
intent.putExtra("clientId", clientData.getInt(0));
startActivity(intent);
}
});
}
private void fillData() {
// Get all of the notes from the database and create the item list
Cursor c = db.fetchAllClients();
startManagingCursor(c);
String[] from = new String[] { DbAdapter.KEY_NAME };
int[] to = new int[] { R.id.text1 };
// Now create an array adapter and set it to display using our row
clients = new SimpleCursorAdapter(this, R.layout.clientsrow, c, from, to);
setListAdapter(clients);
}
}
然而,当我点击它时,什么也没有发生。有什么想法吗?
【问题讨论】:
-
我不确定,但你不是想调用 Intent.setAction() 吗?
-
CurrentMarketValue 代码是什么样的?
-
我不确定 setAction()。除非我打电话给数据提供者,否则我从不使用它......至于 CurrentMarketValue - 它都是有效的,尽管几乎不存在。该程序甚至不会尝试启动它以使其失败。
-
setAction 在你指定你不想启动的类时是没用的,Android 不必在应用程序之间进行选择就知道哪个是最好的。
-
我在想 CurrentMarketValue 的 onCreate 中可能缺少对 setContentView() 的调用,这可能是什么都没发生的原因,但我相信你的话它是有效的 :)跨度>