android获取在另一个类中单击的项的位置

android获取在另一个类中单击的项的位置,android,Android,有人能帮我吗?我正在尝试访问“位置”变量itemclicked。我希望另一个类的内容根据我单击的列表显示不同的内容 我想要的是:如果我单击位置0,那么它会将我带到另一个页面,并且我在该类上创建的TextView将更改为“you clicked position 0”。如果我点击位置1,它会变为“你点击了位置1”,等等 我已尝试执行此操作,但它仅在单击位置0时起作用。如果单击项目1,则显示“您已单击位置0”。我很困惑。我尝试过使用putexraa和其他方法,但它们不起作用。非常感谢你的帮助 pac

有人能帮我吗?我正在尝试访问“位置”变量itemclicked。我希望另一个类的内容根据我单击的列表显示不同的内容

我想要的是:如果我单击位置0,那么它会将我带到另一个页面,并且我在该类上创建的
TextView
将更改为“you clicked position 0”。如果我点击位置1,它会变为“你点击了位置1”,等等

我已尝试执行此操作,但它仅在单击位置0时起作用。如果单击项目1,则显示“您已单击位置0”。我很困惑。我尝试过使用putexraa和其他方法,但它们不起作用。非常感谢你的帮助

package com.obi.arinzeapp;

import java.util.ArrayList;
import java.util.List;
import android.os.Bundle;
import android.app.Activity;
import android.content.Intent;
import android.view.Menu;
import android.view.View;
import android.view.ViewGroup;
import android.widget.AdapterView;
import android.widget.ArrayAdapter;
import android.widget.ImageView;
import android.widget.ListView;
import android.widget.TextView;

public class MainActivity extends Activity {
    private List<list> mymusic = new ArrayList<list>();
    public list currentsong;
    public int man;

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        populatemusiclist();
        populateListView();
        registerclick();

    }

    private void registerclick() {
        ListView mus = (ListView) findViewById(R.id.musiclistview);
        mus.setOnItemClickListener(new AdapterView.OnItemClickListener() {

            @Override
            public void onItemClick(AdapterView<?> parent, View view,
                    int position, long arg3) {

                man = position;

                try {
                    Class ourClass = Class.forName("com.obi.arinzeapp.Music");
                    Intent ourIntent = new Intent(MainActivity.this, ourClass);
                    startActivity(ourIntent);
                } catch (ClassNotFoundException e) {
                    e.printStackTrace();
                }

            }

        });
    }

    private void populatemusiclist() {
        mymusic.add(new list(R.drawable.ff, " Mr.J.Mederiors \"Constance\"",
                R.drawable.medi));
        mymusic.add(new list(R.drawable.ff, " Mr.J.Mederiors \"Constnce\"",
                R.drawable.medi));
        mymusic.add(new list(R.drawable.ff, " Mr.J.Mederiors \"Constnce\"",
                R.drawable.medi));
    }

    private void populateListView() {
        ArrayAdapter<list> adapter = new MyListAdapter();
        ListView list = (ListView) findViewById(R.id.musiclistview);
        list.setAdapter(adapter);
    }

    private class MyListAdapter extends ArrayAdapter<list> {

        public MyListAdapter() {
            super(MainActivity.this, R.layout.viewitem, mymusic);
            // TODO Auto-generated constructor stub
        }

        @Override
        public View getView(int position, View convertView, ViewGroup parent) {
            View veiwitem = convertView;
            if (veiwitem == null) {
                veiwitem = getLayoutInflater().inflate(R.layout.viewitem,
                        parent, false);
                // return super.getView(position, convertView, parent);
            }

            list currentsong = mymusic.get(position);

            ImageView imageview = (ImageView) veiwitem
                    .findViewById(R.id.imageView2);
            imageview.setImageResource(currentsong.getNum());

            TextView wor = (TextView) veiwitem.findViewById(R.id.word);
            wor.setText(currentsong.getNameofsong());

            ImageView imageview2 = (ImageView) veiwitem
                    .findViewById(R.id.imageView1);
            imageview2.setImageResource(currentsong.getPicture());

            return veiwitem;
        }

    }

    @Override
    public boolean onCreateOptionsMenu(Menu menu) {
        // Inflate the menu; this adds items to the action bar if it is present.
        getMenuInflater().inflate(R.menu.main, menu);
        return true;
    }

}



import android.app.Activity;
import android.os.Bundle;
import android.widget.RelativeLayout;
import android.widget.TextView;
public class Music extends Activity{

    TextView name,song,album,about;
    String nam,son,albu,abou;
    RelativeLayout picc;
    public int ye ;

    MainActivity maa = new MainActivity();

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        // TODO Auto-generated method stu
        super.onCreate(savedInstanceState);
        setContentView(R.layout.music);
        name= (TextView) findViewById(R.id.name);
        song= (TextView) findViewById(R.id.song);
        album=(TextView) findViewById(R.id.album);
        about=(TextView) findViewById(R.id.about);
        picc=(RelativeLayout) findViewById(R.id.picc);

        maa.man= ye;  
        if(ye==0){
             name.setText("You clicked position 1") ;
         }else{
             name.setText("You clicked position 2") ;
             }
         }



}
package com.obi.arinzeapp;
导入java.util.ArrayList;
导入java.util.List;
导入android.os.Bundle;
导入android.app.Activity;
导入android.content.Intent;
导入android.view.Menu;
导入android.view.view;
导入android.view.ViewGroup;
导入android.widget.AdapterView;
导入android.widget.ArrayAdapter;
导入android.widget.ImageView;
导入android.widget.ListView;
导入android.widget.TextView;
公共类MainActivity扩展了活动{
私有列表mymusic=newarraylist();
公开上市;
公共情报人员;
@凌驾
创建时受保护的void(Bundle savedInstanceState){
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
populatemusiclist();
populateListView();
registerclick();
}
私有无效注册表单击(){
ListView mus=(ListView)findViewById(R.id.musiclistview);
mus.setOnItemClickListener(新的AdapterView.OnItemClickListener(){
@凌驾
public void onItemClick(AdapterView父级、视图、,
整数位置,长arg3){
人=位置;
试一试{
Class-ourClass=Class.forName(“com.obi.arinzeapp.Music”);
意向ourIntent=新意向(MainActivity.this,ourClass);
星触觉(ourIntent);
}catch(classnotfounde异常){
e、 printStackTrace();
}
}
});
}
私有void populatemusiclist(){
mymusic.add(新列表(R.drawable.ff,“Mr.J.Mederiors\'Constance\”,
R.drawable.medi);
mymusic.add(新列表(R.drawable.ff,“Mr.J.Mederiors\'Constance\”,
R.drawable.medi);
mymusic.add(新列表(R.drawable.ff,“Mr.J.Mederiors\'Constance\”,
R.drawable.medi);
}
私有void populateListView(){
ArrayAdapter=新的MyListAdapter();
ListView列表=(ListView)findViewById(R.id.musiclistview);
list.setAdapter(适配器);
}
私有类MyListAdapter扩展了ArrayAdapter{
公共MyListAdapter(){
super(MainActivity.this、R.layout.viewitem、mymusic);
//TODO自动生成的构造函数存根
}
@凌驾
公共视图getView(int位置、视图转换视图、视图组父视图){
View VEIVITEM=转换视图;
if(veiwitem==null){
veiwitem=GetLayoutFlater()。充气(R.layout.viewitem,
父母,假);
//返回super.getView(position、convertView、parent);
}
list currentsong=mymusic.get(位置);
ImageView ImageView=(ImageView)veiwitem
.findViewById(R.id.imageView2);
setImageResource(currentsong.getNum());
TextView wor=(TextView)veiwitem.findViewById(R.id.word);
work.setText(currentsong.getNameofsong());
ImageView imageview2=(ImageView)veiwitem
.findViewById(R.id.imageView1);
setImageResource(currentsong.getPicture());
返回维特姆;
}
}
@凌驾
公共布尔onCreateOptions菜单(菜单){
//为菜单充气;这会将项目添加到操作栏(如果存在)。
getMenuInflater().充气(R.menu.main,menu);
返回true;
}
}
导入android.app.Activity;
导入android.os.Bundle;
导入android.widget.RelativeLayout;
导入android.widget.TextView;
公共课音乐拓展活动{
文本视图名称、歌曲、专辑、关于;
串南,儿子,阿尔布,阿布;
中国人民保险公司;
公共INTYE;
MainActivity maa=新的MainActivity();
@凌驾
创建时受保护的void(Bundle savedInstanceState){
//TODO自动生成方法stu
super.onCreate(savedInstanceState);
setContentView(R.layout.music);
name=(TextView)findViewById(R.id.name);
song=(TextView)findViewById(R.id.song);
相册=(TextView)findViewById(R.id.album);
about=(TextView)findViewById(R.id.about);
picc=(相对)findViewById(R.id.picc);
maa.man=ye;
如果(ye==0){
name.setText(“您单击了位置1”);
}否则{
name.setText(“您单击了位置2”);
}
}
}

在putExtra中传递
man
的值,同时在mainActivity中设置该类的意图

   Class ourClass = Class.forName("com.obi.arinzeapp.Music");
   Intent ourIntent = new Intent(MainActivity.this, ourClass);
   ourIntent.putExtra("man",man);
   startActivity(ourIntent);
在音乐活动中获得额外的奖励

   extras = getIntent().getExtras();
   newInt= extras.getInt("man");
这是将值从一个活动传递到另一个活动的标准方法。
但是,您可以尝试将
man
设置为
静态变量,但不建议这样做。

在putExtra中传递
man
的值,同时在mainActivity中设置该类的意图

   Class ourClass = Class.forName("com.obi.arinzeapp.Music");
   Intent ourIntent = new Intent(MainActivity.this, ourClass);
   ourIntent.putExtra("man",man);
   startActivity(ourIntent);
在音乐活动中获得额外的奖励

   extras = getIntent().getExtras();
   newInt= extras.getInt("man");
这是将值从一个活动传递到另一个活动的标准方法。
但是,您可以尝试将
man
设置为
静态变量,但不建议这样做。

在设置意图f时,在putExtra中传递
man
的值