【发布时间】:2012-04-30 20:33:47
【问题描述】:
当您尝试通过单击按钮来更改活动时,我发现您必须使用 Intent。但是在我的代码中使用它似乎不起作用。我的代码有问题吗?
public class SearchActivity extends Activity implements OnClickListener{
private ListView recipes;
Intent intent;
Button button;
EditText input;
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.searchlist);
//EditText input = (EditText)findViewById(R.id.recipeName);
button = (Button)findViewById(R.id.submit);
input = (EditText)findViewById(R.id.recipeName);
//recipes = (ListView)findViewById(R.id.recipes);
//recipes.setAdapter(new ArrayAdapter<String> (this, R.layout.main, getResources().getStringArray(R.array.BaconSandwich)));
button.setOnClickListener(this);
}
public void onClick(View clicked) {
String value = input.getText().toString();
Toast.makeText(this, value, Toast.LENGTH_SHORT).show();
if(clicked == button) {
recipes = (ListView)findViewById(R.id.recipes);
Toast.makeText(this, "It is working for this item.", Toast.LENGTH_SHORT).show();
Intent i = new Intent(SearchActivity.this, RecipeMethodActivity.class);
SearchActivity.this.startActivity(i);
}
}
我不确定这是否只是一个简单的命名错误,或者我调用它的方式是错误的。任何帮助都会很棒。
此外,我已将我想要更改为 (RecipeMethodActivity) 的活动添加到 Android 清单中。
【问题讨论】:
-
当你点击按钮时你看到你的 Toast 了吗?
-
“不起作用”到底是什么意思?阅读:LogCat 中有什么? (在 Eclipse 中:窗口 -> 显示视图 -> Android -> LogCat)
-
不,我实际上只看到了第一个 toast,现在将尝试删除 if 语句。唯一的问题是我最终希望应用程序根据添加到文本框中的值来发送数据。
-
要使用 Intent 发送数据,请查看各种
putExtra()方法。如果您需要进一步的帮助,请在 Intent 工作后为此打开一个新问题 :) developer.android.com/reference/android/content/… -
不幸的是,通过删除 if 语句它仍然不会改变活动,而且我收到的 toast 消息与设置的内容不匹配,而是一条被删除的消息。
标签: android android-intent onclick android-activity android-button