可在ListView中单击的Android文本视图和按钮

时间:2013-12-02 12:18:08

标签: java android xml listview

我将listview填充了另一个用json http数组填充的xml布局。 在列表视图中,我有3个文本视图,我想要点击,但当我添加onCreate时onClick方法应用程序强制关闭。我该怎么办,能有人给我举个例子吗?

<ListView
    android:id="@+id/custom_list"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:layout_below="@+id/meni"
    android:layout_marginTop="10dp"
    android:dividerHeight="15.0sp"
   />

在list_row_layout中:

          <TextView
            android:id="@+id/acceptTV"
            android:layout_width="wrap_content"
            android:layout_height="match_parent"
            android:layout_marginRight="5dp"
            android:background="@drawable/pressed"
            android:gravity="fill"
            android:text="Accept"
            android:focusable="false"
            android:textColor="#0D98BA"
            android:textSize="17sp" />

活动类

   @Override 
public void onCreate(Bundle savedInstanceState)
{
      super.onCreate(savedInstanceState);
      setContentView(R.layout.activity_main); 
      feedListView= (ListView) findViewById(R.id.custom_list);
      String url = "....";
      new DownloadFilesTask().execute(url);

      progressbar = (ProgressBar)findViewById(R.id.progressBar);



       accept = (TextView) findViewById(R.id.acceptTV);


       accept.setOnClickListener(new OnClickListener() {

               @Override
               public void onClick(View v) {


               }
           });




}

LogCat

     FATAL EXCEPTION: main
    java.lang.RuntimeException: Unable to start activity ComponentInfo{...MainActivity}:   java.lang.NullPointerException

  at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2100)
  Caused by: java.lang.NullPointerException

以及更多

user3057145解决问题 如果使用了适配器,则只能在适配器类中调用textview。你不能在主要活动中调用textview。

您只能在适配器类中执行onclick事件。

holder.accept =(TextView)convertView.findViewById(R.id.acceptTV);

           holder.accept.setOnClickListener(new OnClickListener() {

                   @Override
                   public void onClick(View v) {
                      holder.accept.setText("dafsafag");
                   }
               });

2 个答案:

答案 0 :(得分:1)

它接收ComponentInfo错误。此错误将显示在某些ID不存在于XML但您尝试在java文件中使用。你可以检查所有元素名称是否完美调用..尝试逐步调试....

如果每件事都很完美,请尝试将列表视图ID作为列表并尝试.............

答案 1 :(得分:1)

如果您使用了适配器,则只能在适配器类中调用textview。你不能在主要活动中调用textview。

您只能在适配器类中执行onclick事件。