displaymessageactivity

displaymessageactivity

阅读一些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);
        }

    }


我想寻求您的帮助,以帮助我了解我做错了什么。

请接受我的误解表示歉意。

非常感谢你!

蝙蝠

最佳答案

包含LinearLayoutListView的方向应垂直

更改

 android:orientation="horizontal"




 android:orientation="vertical"

10-08 02:42