2014-11-02 84 views
0

我已经写了一个程序显示一个列表视图,当我的列表视图一个新的活动应显示其还有一个列表视图的项目点击如何使用arraylist在列表视图的项目上单击时显示列表视图?

MainAactivity

我在这里通过在ListView的日子阵列显示完美,并在itemclick另一个活动打开,并在我的新活动,我想要一个列表视图与我在列表中添加的元素,就像当我点击星期一时,我只需要星期一在我的新列表视图,当我点击星期二我只需要在我的新的列表视图中的星期二,我尝试了这个程序在textview的帮助下工作正常,但是我想用listview的帮助来尝试它,需要一些帮助

public class MainActivity extends Activity { 

ListView list; 
final ArrayList<String> arraylist = new ArrayList<>(); 
ArrayAdapter<String> adapter; 

@Override 
protected void onCreate(Bundle savedInstanceState) { 
    super.onCreate(savedInstanceState); 
    setContentView(R.layout.activity_main); 
    list = (ListView) findViewById(R.id.listview1); 


     arraylist.add("Monday"); 
     arraylist.add("Tuesday"); 
     arraylist.add("Wednesday"); 
     arraylist.add("Thursday"); 
     arraylist.add("Friday"); 
     arraylist.add("Saturday"); 
     arraylist.add("Sunday"); 


    final String[] days = { "Monday", "Tuesday", "Wednesday", "Thursday", 
      "Friday", "Saturday", "Sunday" }; 
    adapter = new ArrayAdapter<String>(getBaseContext(), 
      android.R.layout.simple_list_item_1, days); 

    list.setAdapter(adapter); 
    list.setOnItemClickListener(new OnItemClickListener() { 

     @Override 
     public void onItemClick(AdapterView<?> parent, View view, 
       int position, long id) { 
      // TODO Auto-generated method stub 

      Intent intent = new Intent("com.demo.listview.LIST"); 
      intent.putExtra("name", arraylist); 
      intent.putExtra("name", arraylist); 



      startActivity(intent); 

     } 
    }); 

我List.java具有其中我想通过一个显示一个ArrayList中的元素,当我具体的项目单击第一个列表视图

public class List extends Activity { 
ListView lv; 


@Override 
protected void onCreate(Bundle savedInstanceState) { 
    // TODO Auto-generated method stub 
    super.onCreate(savedInstanceState); 
    setContentView(R.layout.list); 
    lv = (ListView) findViewById(R.id.listView1); 

    Intent intent = getIntent(); 
ArrayList<String> arr = (ArrayList<String>)intent.getStringArrayList("name"); 

} 
} 

我知道我是一个第二列表视图在我的活动中都出错 欢迎任何建议

回答

1

在您的MainActivity,没有必要有

final String[] days = { "Monday", "Tuesday", "Wednesday", "Thursday", 
     "Friday", "Saturday", "Sunday" }; 

您可以设置ArrayList的直接ArrayAdapter这样的,

 adapter = new ArrayAdapter<String>(getBaseContext(), 
      android.R.layout.simple_list_item_1, arraylist); 

对于onItemClick,

  Intent intent = new Intent("com.demo.listview.LIST"); 
      intent.putExtra("name", arraylist.get(position)); 
      startActivity(intent); 

对于列表活动,再次你se,

final ArrayList<String> arraylist = new ArrayList<String>(); 

and inside onCreate,试试这个。

Intent intent = getIntent(); 
    String day = intent.getStringExtra("name"); 
    arraylist.add(day); 
    adapter = new ArrayAdapter<String>(getBaseContext(), 
      android.R.layout.simple_list_item_1, arraylist); 

让我们知道这是否适合你。

+0

非常感谢先生,它的工作 – 2014-11-02 17:59:33

+0

很高兴在这里:) – Chitrang 2014-11-02 18:02:00

0

@Arjun:没有必要在第一个活动中添加一个数组列表。 如果您只想将点击的项目移动到您的第二个活动,然后使用 intent.putExtra(days [position]) onItemClick函数给出接收点击的项目的位置。 然后在第二个活动中使用额外的意图....但是如果您知道在第二个活动中只显示一个项目,那么在列表中显示单个项目有什么需要?第二个活动的Textview是一个更好的选择。

+0

你好,欢迎来到[so]!花点时间浏览[导览]和[帮助]。你的回答有点难以遵循。你可以编辑它,使其更清晰(拼写和语法)。 – Tritium21 2014-11-02 17:43:36

+0

是的,先生我知道这就是我在描述中提到的,我已经尝试过使用textview,它的工作原理,但我想尝试一个列表视图,只是一个尝试先生,想学习每一种可能的方式来显示一个项目,无论它是一个textview,listview或imageview – 2014-11-02 18:05:26

相关问题