2017-01-11 15 views
0

Androidで学習するだけです。これは小さな質問ですが、私は本当にそれを解決する方法を知りたいです。ListViewでクリックしたテキストを表示するには、どのようにonItemClickメソッドを設定できますか?

public class MainActivity extends AppCompatActivity { 
    ListView l; 
    String [] days = {"Sunday", "Monday", "Tuesday", "Wednesday", "Thursday", "Friday", "Saturday"}; 

    @Override 
    protected void onCreate(Bundle savedInstanceState) { 
     super.onCreate(savedInstanceState); 
     setContentView(R.layout.activity_main); 
     l = (ListView) findViewById(R.id.ListView); 
     ArrayAdapter<String> adapter = new ArrayAdapter<String>(this, R.layout.single_row, R.id.textView, days); 
     l.setAdapter(adapter); 
     l.setOnItemClickListener(new AdapterView.OnItemClickListener() { 
      @Override 
      public void onItemClick(AdapterView<?> parent, View view, int position, long id) { 

       Toast.makeText(MainActivity.this, "Hi",Toast.LENGTH_SHORT).show(); 
      } 
     }); 
    } 
} 

誰かが私を助けることを望みます。ありがとうございました!

答えて

2

days配列内のデータを使用して、おそらくです。 position引数のonItemClickは、ListViewでクリックしたアイテムの位置を指します。

@Override 
public void onItemClick(AdapterView<?> parent, View view, int position, long id) { 
    String selected = days[position]; 
    Toast.makeText(MainActivity.this, selected, Toast.LENGTH_SHORT).show(); 
} 
+0

ありがとう!ちなみに、私がちょうどクリックしたテキストのインデックスも取得したいのですが?私は 'days [position]'を 'days [id]'に変更しようとしましたが、動作していません。 –

+0

'position'自体がインデックスです。 –

+0

こんにちは、テキストとそのテキストのインデックスをToastメッセージに表示させるにはどうすればよいですか?ありがとうございました! –