从ListView onClick显示字符串项

时间:2016-12-09 11:20:41

标签: java android listview

我的xml上有这个

<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
tools:context=".MoviesCategoriesActivity">

    <ListView
        android:entries="@array/moviecategories"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:id="@+id/listView"
        android:layout_alignParentTop="true"
        android:layout_alignParentLeft="true"
        android:layout_alignParentStart="true" />

</RelativeLayout>

这是我班上的事:

public class MoviesCategoriesActivity extends AppCompatActivity {

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_movies_categories);

        ListView listView = (ListView)findViewById(R.id.listView);

        ArrayList<String> first = new ArrayList<String>();
        first.add("one");
        first.add("two");
        first.add("three");

        ArrayList<String> second = new ArrayList<String>();
        second.add("four");
        second.add("five");
        second.add("six");
    }
}

我想:当我点击列表中的第一个项目以显示来自arraylist的字符串时,当我按下第二个项目向我显示来自第二个arraylist的字符串时。怎么办?

3 个答案:

答案 0 :(得分:0)

你必须为此创建自己的适配器,你将得到所需的答案。

我建议您使用recyclerview a.k.a Advanced ListView

Tutorail

答案 1 :(得分:0)

我建议使用RecyclerView,但你可以使用listview并以这种方式获取所选项目

TestAbstractionLib.UnitTestUtilsClass.UnitTestFileName = TestAbstractionLib.UnitTestUtilsClass.VisualDumpAfterValueSet;
object[] prop = { "Patient", false };
var methodUnderTest = Helper.GetStaticMethod(typeof(TestAbstractionLib), "GetListOfDesiredNodes");
var labelNode = methodUnderTest.Invoke(this, prop) as List<XmlNode>;


object[] prop1 = {labelNode.FirstOrDefault(), "BIPOLAR", "Chamber", true, 10, 10, false};
methodUnderTest = Helper.GetStaticMethod(typeof(TestAbstractionLib), "CheckValueIsSetAlready");
var result = methodUnderTest.Invoke(this, prop1);

Assert.AreEqual(result, false);
TestAbstractionLib.UnitTestUtilsClass.CheckerrorinLogFile(true);

有关详情,请参阅此演示http://wptrafficanalyzer.in/blog/android-itemclicklistener-for-a-listview-with-images-and-text/

答案 2 :(得分:0)

为此,您可以在listview上设置onItemClicklistener(),并根据项目位置显示您想要的任何数组中的值。