所以我对Android开发有点新意,但对它有所了解。基本上我正在尝试创建一个在列表视图中显示术语的应用程序,然后在单击时打开另一个窗口来定义术语。目前我有一个列表视图:
static final String[] DEFINITIONS = new String[] { "Andrew Jackson", "Some other famous guy", "Slavery y'know"};
@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_list,DEFINITIONS));
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();
}
我对从这里去哪里感到困惑。我不知道我是否会以最有效的方式解决这个问题
答案 0 :(得分:0)
在Activity
中开始另一个OnItemClickListener
,其中显示参考当前所选项目的定义。
Intent mIntent = new Intent(this, Definition.class);
mIntent.putExtra("terms", ((TextView) view).getText());
startActivity(mIntent);
在另一端您可以在“定义”类中获取所选术语
Bundle extras = getIntent().getExtras();
String selectedTerms;
if (extras != null) {
selectedTerms= extras.getString("terms");
}
现在你已经选择了条款。现在做你的东西。