带有 Intent 和自定义 Listview 的 Android

Posted

技术标签:

【中文标题】带有 Intent 和自定义 Listview 的 Android【英文标题】:Android with Intent and Custom Listview 【发布时间】:2018-02-19 06:13:19 【问题描述】:

我使用ArrayAdapter 自定义了一个ListView,但是当我在智能手机上运行它时,我点击了该项目但它并不暗,例如没有交互。 还有一个问题: 当我在 ListView 中的项目上使用 IntentTextView ArrayAdapter 时,出现“Error:(64, 71) error: not an enclosing class: PlaylistActivity”错误

MainActivity.java

public class MainActivity extends AppCompatActivity 
...

AdapterCustom.java

public class AdapterCustom extends BaseAdapter 
...

@Override
public View getView(int i, View view, ViewGroup viewGroup ) 

        final LayoutInflater inflater= (LayoutInflater) mcontext.getSystemService(Context.LAYOUT_INFLATER_SERVICE);

    view=inflater.inflate(layout,null);

    TextView tvFeelOnday= (TextView) view.findViewById(R.id.tv_feel);
    TextView tvFeelDate=(TextView) view.findViewById(R.id.tv_feel_date);

    Feel mFeel= FeelList.get(i);

    tvFeelOnday.setText(mFeel.getmFeelOnDay().toString());
    tvFeelDate.setText(mFeel.getmFeelDate()+"");


    tvFeelOnday.setOnClickListener(new View.OnClickListener() 
        @Override
        public void onClick(View view) 
            Toast.makeText(mcontext, "Hehe", Toast.LENGTH_SHORT).show();

            Intent intent;
            intent = new Intent(this, MainActivity.class);// an error
        
    );
    return view;

【问题讨论】:

intent = new Intent(this, MainActivity.class) 这里 this 不涉及上下文。你需要一个上下文作为参数来代替 然后我使用 public class FeelAdapter extends BaseAdapter private Context mcontext;私有 int 布局;私有列表 FeelList; ..... tvFeelOnday.setOnClickListener(new View.OnClickListener() @Override public void onClick(View view) Intent intent; intent = new Intent(mcontext, com.BKDN.Cellular.MusicActivity.class); Toast.makeText (mcontext, "呵呵", Toast.LENGTH_SHORT).show(); );返回视图;但我不能 startActivity(intent); 【参考方案1】:

您必须使用您的活动上下文并使用该上下文来创建新活动。 为初始化上下文创建一个构造函数。

public AdapterCustom(Context context) 
          this.context = context;     
     

【讨论】:

以上是关于带有 Intent 和自定义 Listview 的 Android的主要内容,如果未能解决你的问题,请参考以下文章

带有复选框和自定义适配器的 ListView,片段无法正常工作

Android Studio itemsAdapter 和自定义 ListView 不起作用

ListView 和自定义适配器在 Kotlin 中不起作用

如何使用复选框和自定义适配器从 Listview 中获取选定的列表项?

自定义 ListView 以处理从另一个 Intent 传递的 EditText 和 TextView

如何从自定义 ListView 适配器传递 Intent Extra?