【问题标题】:Intent in ListViewListView 中的意图
【发布时间】:2015-09-28 16:35:00
【问题描述】:

如何单击 ListView。我的意思是如何对它产生意图。

JAVA

public class Login extends ActionBarActivity {
    ListView listView;
    ArrayAdapter<String> adapter;
    String[] grocery_categories = {"Beverages", "Bakery", "Canned Goods", "Condiments", "Dairy", "Snacks", "Frozen Foods",
                                    "Meat", "Produce", "Cleaners", "Paper Goods", "Personal Care", "Others"};

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_login);
        listView = (ListView) findViewById(R.id.list_view);
        adapter = new ArrayAdapter<String>(this, android.R.layout.simple_list_item_1, grocery_categories);
        listView.setAdapter(adapter);    
    }
}

XMS

<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="com.example.admin.mobilegroceryapp.Login"
android:id="@+id/rl_login">

<ImageView
    android:layout_width="fill_parent"
    android:layout_height="fill_parent"
    android:id="@+id/login_bckgrnd"
    android:src="@drawable/login_bckgrnd"
    android:scaleType="centerCrop"
    />

<ListView
    android:id="@+id/list_view"
    android:layout_width="match_parent"
    android:layout_height="wrap_content">



</ListView>

顺便说一句,我是一名学生,正在为我的论文探索 Android Studio。

【问题讨论】:

标签: android listview android-intent clickable


【解决方案1】:

您可以使用OnItemClickListener 来确定点击了哪个列表项。

listView.setOnItemClickListener(new AdapterView.OnItemClickListener() {
    @Override
    public void onItemClick(AdapterView<?> parent, View view, int position, long id) {
        String itemChosen = (String) parent.getItemAtPosition(position);
        Intent intent = new Intent(FirstActivity.this, SecondActivity.class);
        intent.putExtra("groceryItem", itemChosen);
        startActivity(intent);
    }
}

【讨论】:

    【解决方案2】:

    在您的列表视图中设置 itemclick 侦听器 你可以在这里探索更多关于listview的信息http://developer.android.com/guide/topics/ui/layout/listview.html 如果您想在单击列表视图时使用意图,只需将您的代码放入列表视图单击侦听器

    【讨论】:

      【解决方案3】:

      试试

      listView.setOnItemClickListener(new AdapterView.OnItemClickListener() {
              @Override
              public void onItemClick(AdapterView<?> listView, View view, int position, long id) {
                  String grocery = (String) listView.getAdapter().getItem(position);
                  Intent intent = new Intent(listView.getContext(),/*Your activity*/);
                  listView.getContext().startActivity(intent);
                  //or create other intents here
              }
          });
      

      现在您的代码应该如下所示:

      @Override
      protected void onCreate(Bundle savedInstanceState) {
      super.onCreate(savedInstanceState);
      setContentView(R.layout.activity_login);
      listView = (ListView) findViewById(R.id.list_view);
      adapter = new ArrayAdapter<String>(this, android.R.layout.simple_list_item_1, grocery_categories);
      listView.setAdapter(adapter);
        listView.setOnItemClickListener(new AdapterView.OnItemClickListener() {
              @Override
              public void onItemClick(AdapterView<?> listView, View view, int position, long id) {
                  String grocery = (String) listView.getAdapter().getItem(position);
                  Intent intent = new Intent(listView.getContext(),/*Your activity*/);
                  listView.getContext().startActivity(intent);
                  //or create other intents here
              }
          });
      
      }
      

      【讨论】:

      • 先生,我只想让我列出的所有数组都可以点击。这可能吗?
      • 这就是它的作用。将上面的代码放在 listView.setAdapter(adapter); 行下面
      • listView.setOnItemClickListener(new AdapterView.OnItemClickListener() { @Override public void onItemClick(AdapterView> listView, View view, int position, long id) { 字符串杂货 = listView.getAdapter()。 getItem(position); Intent intent = new Intent(listView.getContext(),Login.class); listView.getContext().startActivity(intent); //或者在这里创建其他intent } });
      • 先生,“字符串杂货店 = listView.getAdapter().getItem(position);”这行有问题在你的建议中
      • 它的 String 杂货店 = (String) listView.getAdapter().getItem(position);
      猜你喜欢
      • 2023-03-21
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2018-02-05
      • 1970-01-01
      相关资源
      最近更新 更多