【问题标题】:Android textviews and buttons clickable in ListView在 ListView 中可点击的 Android 文本视图和按钮
【发布时间】:2013-12-02 12:18:07
【问题描述】:

我用另一个 xml 布局填充了列表视图,该布局填充了 json http 数组。 在列表视图中,我有 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) {


               }
           });




}

日志猫

     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");
                   }
               });

【问题讨论】:

  • 你能发布你的错误代码吗?
  • 你有创建你的适配器吗?
  • 我只有 CustomListAdapter 类,它用 http json 填充列表视图
  • 发布我们帮助您的代码

标签: java android xml listview


【解决方案1】:

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

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

【讨论】:

  • 谢谢。现在可以正常工作了:)
【解决方案2】:

它接缝了 ComponentInfo 错误。此错误将显示在某些 id 不存在于 XML 中,但您正尝试在 java 文件中使用。你能检查所有元素名称是否被完美调用..尝试一步一步调试....

如果一切都很完美,请尝试将列表视图 id 作为列表并尝试......

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2011-10-31
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-02-09
    • 1970-01-01
    • 2018-09-14
    相关资源
    最近更新 更多