0
我尝试从MenuActivity启动我的应用程序到RecipesActivity。在RecipesActivity中,我尝试从表中选择元素,这是我在DataBase类(DataBase.java)中创建的。现在这个表是空的。调试器不能帮助我,我不知道为什么应用程序崩溃,也许是因为现在表空了。 MenuActivity.java程序从一个活动转到另一个活动时,应用程序崩溃
RecipesActivity.java 致谢public class RecipesActivity extends Activity implements OnClickListener {
static final public int AddingRecipe = 0;
static final public int EditingRecipe = 1;
//static final public String EditRecipe = "EditRecipe";
static final public String RecipeId = "RecipeId";
static final public String ShowRecipe = "ShowRecipe";
LinearLayout ll;
DataBase sqh;
SQLiteDatabase sqdb;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_recipes);
ll = (LinearLayout)findViewById(R.id.llRecipes);
sqh = new DataBase(this);
sqdb = sqh.getWritableDatabase();
Cursor cursor = sqdb.rawQuery("SELECT _id, Name, Doctor FROM Disease", null);
while (cursor.moveToNext()) {
LinearLayout ll2 = new LinearLayout(this);
ll2.setOrientation(LinearLayout.HORIZONTAL);
final TextView tv = new TextView(this);
tv.setId(cursor.getInt(cursor.getColumnIndex("_id")));
tv.setLayoutParams(new LayoutParams(LayoutParams.WRAP_CONTENT, LayoutParams.WRAP_CONTENT));
String disease = cursor.getString(cursor.getColumnIndex("Name"));
String doctor = cursor.getString(cursor.getColumnIndex("Doctor"));
tv.setText(disease +"\nВрач: "+ doctor);
ll2.addView(tv);
ImageButton edit = new ImageButton(this);
edit.setId(cursor.getInt(cursor.getColumnIndex("_id")));
edit.setClickable(true);
edit.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View v) {
// TODO Auto-generated method stub
//TextView tv2 = tv;
Intent i3 = new Intent(RecipesActivity.this, AddEditRecipesActivity.class);
i3.addFlags(EditingRecipe);
i3.putExtra(RecipeId, v.getId());
//i3.putExtra(EditRecipe, tv2.getText().toString());
//startActivityForResult(i3, EditingRecipe);
startActivity(i3);
}
});
edit.setBackgroundResource(R.drawable.edit);
ll2.addView(edit);
ImageButton go = new ImageButton(this);
go.setId(cursor.getInt(cursor.getColumnIndex("_id")));
go.setClickable(true);
go.setBackgroundResource(R.drawable.go);
go.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View v) {
Intent i3 = new Intent(RecipesActivity.this, MedicineActivity.class);
i3.putExtra(ShowRecipe, v.getId());
RecipesActivity.this.startActivity(i3);
}
});
ll2.addView(go);
ll.addView(ll2);
}
}
}
部分
case R.id.recipes:
case R.id.iconrecipes:
Intent i2 = new Intent(this, RecipesActivity.class);
this.startActivity(i2);
break;
一部分。
安置自己的logcat的堆栈跟踪,请! – Pavlos
adb logcat(我最好的猜测是你没有在清单中定义你的Activity)。但这只是一个猜测而没有看到你的日志消息。 – Booger
这个代码是在OnClickListener中吗?如果是这样的话,问题是'Intent i2 = new Intent(this,RecipesActivity.class);'。应该是'意图i2 =新的意图(ActivityName.this,RecipesActivity.class);'如果这不是问题,那么请编辑并发布logcat – codeMagic