阅读一些Tuto之后,我正在尝试构建我的第一个应用程序。我正在使用的是这个:http://instinctcoder.com/android-studio-sqlite-database-example/
但是在他的应用程序中,该家伙经历了列出SQL记录的中间步骤。
我希望我的应用执行以下操作:
我的活动
单击“添加播放器”按钮后,将带DisplayMessageActivity,可以在其中将名称保存在数据库中
DisplayMessageActivity
名称的EditText,三个按钮(删除,更新,关闭)
(单击删除时,我将回到MyActivity)
(单击更新时,我保持在DisplayMessageActivity上)
(单击关闭时,我将回到MyActivity)
我设法构建它,在两个作品之间进行导航,并且数据库插入都很好。
保存名称时,我将返回第一个活动,但是显示的列表不会使用新添加的名称进行更新。
这是我的activity_main.xml
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:id="@+id/swipe_container"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="horizontal"
tools:context="tab.sqltesting.com.myapplication.MyActivity">
<Button
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Add Player"
android:id="@+id/addPlayer"
android:onClick="addPlayer" />
<ListView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:id="@android:id/list"
android:layout_centerHorizontal="true"
android:layout_alignParentTop="true"
android:layout_above="@+id/btnAdd" />
</LinearLayout>
这是我的activity_main.java
public class MyActivity extends ListActivity implements android.view.View.OnClickListener{
Button addPlayer;
TextView players_Id;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_my);
PlayersRepo repo = new PlayersRepo(this);
ArrayList<HashMap<String, String>> playersList = repo.getPlayersList();
if (playersList.size() != 0) {
ListView lv = getListView();
lv.setOnItemClickListener(new AdapterView.OnItemClickListener() {
@Override
public void onItemClick(AdapterView<?> parent, View view, int position, long id) {
players_Id = (TextView) view.findViewById(R.id.players_Id);
String playersId = players_Id.getText().toString();
Intent objIndent = new Intent(getApplicationContext(), DisplayMessageActivity.class);
objIndent.putExtra("players_Id", Integer.parseInt(playersId));
startActivity(objIndent);
}
});
ListAdapter adapter = new SimpleAdapter(MyActivity.this, playersList, R.layout.list_players_view, new String[]{"id", "name"}, new int[]{R.id.players_Id, R.id.players_name});
setListAdapter(adapter);
} else {
Toast.makeText(this, "No Player!", Toast.LENGTH_SHORT).show();
}
addPlayer = (Button) findViewById(R.id.addPlayer);
addPlayer.setOnClickListener(this);
}
@Override
public void onClick(View view) {
if (view == findViewById(R.id.addPlayer)) {
Intent intent = new Intent(this, DisplayMessageActivity.class);
startActivity(intent);
}
}
我想寻求您的帮助,以帮助我了解我做错了什么。
请接受我的误解表示歉意。
非常感谢你!
蝙蝠
最佳答案
包含LinearLayout
的ListView
的方向应垂直
更改
android:orientation="horizontal"
与
android:orientation="vertical"