Androidの学習を始めたばかりで、メインXMLの一部がリストビューである単純なビューを作成しようとしています。ここでXMLのListViewにデータを入れる方法は?
は、私は私が私のListViewにそれらのデータを置けばいいのか、データのArrayListのを返すgetDatafromFile()
と呼ばれる機能を持っていると仮定すると、私のmain.xml
<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent">
<RelativeLayout
android:layout_width="100dp"
android:layout_height="match_parent"
android:layout_alignParentLeft="true"
android:layout_alignParentStart="true"
android:layout_alignParentTop="true"
android:id="@+id/Menu">
<ImageButton
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:id="@+id/menu_item_1"
android:layout_alignParentTop="true"
android:layout_centerHorizontal="true"
android:layout_marginTop="129dp" />
</RelativeLayout>
<FrameLayout
android:layout_width="match_parent"
android:layout_height="60dp"
android:layout_toEndOf="@+id/Menu"
android:layout_toRightOf="@+id/Menu"
android:layout_alignParentTop="true"
android:id="@+id/Banner">
<TextView
android:layout_width="match_parent"
android:layout_height="match_parent"
android:text="Account Log"
android:layout_gravity="center"
android:inputType="none"
android:textStyle="bold"/>
</FrameLayout>
<ListView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:id="@+id/Log"
android:layout_toRightOf="@+id/Menu"
android:layout_below="@+id/Banner"
android:layout_alignParentRight="true"
android:layout_alignParentEnd="true"
android:choiceMode="none"
android:clickable="false"
android:contextClickable="true"
android:fadeScrollbars="true" />
</RelativeLayout>
のですか?
ArrayAdapterの使用について聞いたことがありますが、私が見た例では、ListViewがレイアウト全体に配置されています。あなたのListViewにデータを置くための最良の方法は、ArrayAdapterクラスを作ることであるリストビューを作成
public class MainActivity extends AppCompatActivity {
ArrayList<String>arrayList=new ArrayList<>();
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main); //here is the layout where your views exists
for (int i=0;i<=20;i++){
arrayList.add("List Items"+i); //assume we passed the data in arraylist
}
ListView listView=(ListView)findViewById(R.id.log); //your listview
ArrayAdapter arrayAdapter=new ArrayAdapter(this,android.R.layout.simple_list_item_1,arrayList);//the second argument is a layout file that have a textview
listView.setAdapter(arrayAdapter);
}
}
更新しました精巧な例をありがとうございました! 'SaleAdapter'が何であるか知りたいだけですか? 'R.layout.list_item'と' R.layout.salelist_item'はどこから来たのですか? – Beginner
私のプロジェクトのコピー貼り間違いでした。私はlist_itemに変更しました。今すぐ確認してください。 –
それでは、今はっきりしていますか? –